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