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 > > -- Pensez à lire la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:" To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]