Le Mardi 22 Avril 2003 18:27, Thomas Nemeth a �crit :
> Le 22.04.03, David CABATON a tapot� :
> | >for i in *; do j=`echo "$i" | tr [a-z] [A-Z]` ; mv $i $j; done
> |
> | Ok ca marche.... vous pourriez m'expliquez un peu...
>
>       le "for" passe tous les fichiers (et r�pertoires) se trouvant
>       dans le r�pertoire courant (avec *). Pour chacun de ses
>       fichiers ($i) j'affiche le nom dans � travers un pipe qui
>       transforme les minuscules en majuscules (notez qu'il est
>       possible de faire autrement afin de pouvoir mettre en
>       majuscules les lettres accentu�es : tr [:lower:] [:upper:]).
>       j recoit le nom en majuscules (j=`...` : j re�oit le r�sultat
>       de la commande entre `...`). Puis il suffit de faire un simple
>       mv de l'ancien nom vers le nouveau (notez que mv "$i" "$j"
>       permet de lancer la commande sur des noms de fichiers comportant
>       des espaces).

Juste pour rajouter quelque chose : la syntaxe `commande` (avec des 
apostrophes invers�es) est maintenant remplac� par la structure $(commande).

J'ai vu �a dans le man du bash.

-- 
Michel Grentzinger
        OpenPGP key ID : B2BAFAFA
                Available on http://www.keyserver.net

Répondre à