Re: [bash] problème(s)
Le lundi 18 avril 2005 à 17:45 +0200, Pierre Mauduit a écrit :
> Bonjour la liste,
>
> Bon, ca peut paraitre un peu HS, étant donné que ca cible pas
> spécialement debian, mais en espérant que des bonnes âmes répondent :)
>
> Voila, j'ai été confronté à un problème en voulant faire un script bash
> concernant les espaces et les retours de lignes.
>
> Pour faire simple, j'ai voulu faire un script qui permette d'effacer les
> Thumbs.db dont windows raffole. Je sais que find intégre un -exec, mais
> je ne sais plus exactement comment ca fonctionne (et ca ne résoud pas
> mon problème de bash).
>
find ./ -name Thumbs.db -exec rm {} \;
{} représente chaque éléments trouvés
man find permet de se souvenir.
> 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.
>
tu peux directement faire :
for i in `find ./ -name Thumbs`
do
rm $i
done
Avec un '>' tu écrase le fichier à chaque éléments trouvé, il faudrait
plutôt faire un >> a_virer
> 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 ?
>
> D'avance merci.
>
> --
> Pierre
>
>
Reply to: