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]

Répondre à