La commande suivante permet de renommer en masse tous les fichiers d'un répertoire en ajoutant un numéro incrémental sur les nom de fichiers.
Renommage de fichier avec un numéro
Contenu du répertoire avant renommage :
pcr@home:/tmp/increment$ ls
a.jpg b.jpg c.jpg d.jpg e.jpg f.jpg g.jpg h.jpg i.jpg j.jpg k.jpg l.jpg
Exécution de la commande de renommage :
pcr@home:/tmp/increment$ j=0;for i in *.jpg;do let j+=1;mv "$i" "increment$j.jpg";done
Contenu du répertoire après renommage des fichiers :
pcr@home:/tmp/increment$ ls -v
increment1.jpg increment3.jpg increment5.jpg increment7.jpg increment9.jpg increment11.jpg
increment2.jpg increment4.jpg increment6.jpg increment8.jpg increment10.jpg increment12.jpg
J'utilise le -v de ls pour que la sortie soit triée de manière naturel.
PS : Attention cette commande peut entrainer la perte de certain fichier (écrasement) si vous l'utilisez plusieurs fois sur le même répertoire avec les mêmes valeurs.
Image : Mr Beaver