Bonjour,
il y a longtemps s'était posée sur linuxfr.org la question de gestion des espaces dans un pipe de commande de type locate nomdufichier | xargs cmd
3 solutions semblent interessantes
1) Redéfinir: IS=:$'\x0a' (j'aime pas du tout, c'est bien bourrin)
2) Utiliser la fonction locate --null et xargs --null. J'arrive pas à le faire marcher
3) Utiliser sed avec sed -e -p 's/ /\\ /g' entre le locate et le xargs.
En fait je pensais me diriger vers un alias xarg="sed -e -p 's/ /\\ /g'" | xargs",m ais ça marche pas.
N'étant ni un expert de sed, ni de bash en général, quelqu'un aurait une idée?
Merci
# --null
Posté par gaaaaaAab . Évalué à 2.
les --null de locate et xargs ont été écrit pour répondre spécifiquement à ton besoin. L'idéal serait de comprendre pourquoi ça ne marche pas chez toi.
Quels sont les symptomes ?
N'aurais-tu pas des alias qui redifiniraient déjà locate et xargs qui empécheraient l'option --null de bien se comporter ?
Tout autre solution serait du bricolage ...
[^] # Re: --null
Posté par aerospeace . Évalué à 1.
En fait j'aimerai faire une comande locate -- null nomdelartiste | xargs --null mplayer, où locate me ressortirait plusieurs fichiers. Actuellement, avec cette syntaxe, mplayer va essayer de lire le fichier resultat1\nresultat, et non pas resultat puis resultat2. Je sais pas trop quoi faire du coup...
[^] # Re: --null
Posté par Christophe --- . Évalué à 1.
Pour le moment, je vois pas bien de solution, à moins de passer par un find -iname "*nom*" -print0, qui à l'inconvénient de ne pas avoir de "cache" comme locate.
[^] # Re: --null
Posté par aerospeace . Évalué à 1.
Je vais me contenter de ça avec un petit alias vers mon repertoire de zik
Merci!
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.