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

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: