en une seule boucle, et pour toutes les extensions ;-)
#!/bin/bash
# on se met dans le répertoire passé en paramètre
cd $1
for file in *; do
# récupère l'extension du ficher
ext=${file/*.};
# crée le répertoire si il n'existe pas, puis déplace le fichier dedans
test -d $ext || mkdir $ext && mv "$file" $ext;
done
# autre solution
Posté par boussouf . En réponse au message script en Bourne Shell. Évalué à 6.
#!/bin/bash # on se met dans le répertoire passé en paramètre cd $1 for file in *; do # récupère l'extension du ficher ext=${file/*.}; # crée le répertoire si il n'existe pas, puis déplace le fichier dedans test -d $ext || mkdir $ext && mv "$file" $ext; done