Re: Script pour faire un upper de case... [gestion des espaces]
Le Mardi 22 Avril 2003 21:21, Nicolas Massé a écrit :
> saisir dans le fichier mon_mv :
> ===========Debut du fichier=========
> #!/bin/bash
> read LIGNE
> while [ "$LIGNE" ]; do
> echo -n "mv \"$LIGNE\" \""
> echo -n "$LIGNE" |tr '[a-z]' '[A-Z]'
> echo "\""
> read LIGNE
> done
> ===========Fin du fichier===========
>
> aller dans le répertoire contenant les répertoires à renommer
>
> executer :
> find -type d -maxdepth 1 |mon_mv
>
> et si le résultat te convient :
> find -type d -maxdepth 1 |mon_mv |bash
>
> L'avantage de cette méthode est qu'elle gère les nom de répertoires avec
> espaces (contrairement à une boucle "for")
Tu peux modifier la variable IFS pour contourner le problème des espaces.
Sinon, j'ai appris recemment une autre méthode : la combinaison de find et
while...
find | while read ligne ; do
done
--
Michel Grentzinger
OpenPGP key ID : B2BAFAFA
Available on http://www.keyserver.net
Reply to: