On Tue, 2 Sep 2003 19:07:08 +0200
"Alain Defraeye" <[EMAIL PROTECTED]> wrote:

> Voilà :
> 
> for i in `ls`
>       do
>       majus=`echo $i|tr [a-z] [A-Z]`
>       echo "Avant : $i  apres : $majus"
>       mv $i $majus
> done
> 
> Pas taper jipé stp !
> 

si :P !

for i in *; do
   j=$(echo $i | tr [:upper:] [:lower:]
   if [ ! -e "$j" ]; then mv "$i" "$j"; fi
done

"*" est meilleur que "ls" car il permet de définir $i avec un nom de fichier à la 
fois, même si ce nom comporte des espaces. sinon il faut jouer avec $IFS. par la 
suite, penser à quoter les variables avec des doubles quotes -> "$var"

la langue française comporte des lettres accentuées que [:upper:] et  [:lower:] 
prennent en compte mais pas [A-Z] [a-z]

vérifier que le nouveau nom que l'on va attribuer à un fichier n'est pas déjà attribué 
avec un "if [ ! -e fichier ]" n'est pas forcément un luxe.

bye
jipe

PS: c'est pas vrai, je tape pas :)

Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft?
Rendez-vous sur "http://www.mandrakestore.com";.

Foire Aux Questions de la liste : http://mdk.mondelinux.org

Répondre à