[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [bash] problème(s)



Comput unicum 1113839153 (Mon, 18 Apr 2005 17:45:53 +0200),
Pierre Mauduit a écrit :
> 
> Bonjour la liste,

Bonjour,

>[...] 
> Donc je fais un "find ./ -name Thumbs.db > a_virer".
> Ensuite, un "for i in `cat a_virer`;do rm -i $i;done"
> Mais voila ca ne fonctionne pas, parce que les espaces ont l'air d'être 
> interprétés comme un "passage à l'élément suivant" dans la déclaration 
> du tableau.
> 
> C'est un exemple, mais j'ai eu le même problème dans un autre script. 
> Quelqu'un saurait-il comment gérer ce problème ?


find . -name Thumbs.db -print0 | xargs -0 rm

Le -print0 demande une sortie avec des chaînes terminées par le caractère
0 (comme en C), ce qui fait que les espaces sont traités comme des
caractères normaux. xargs récupère la liste sous cette forme grâce au -0.

-- 
Sylvain Sauvage



Reply to: