Renommer des fichiers dans une liste
Transcription
Renommer des fichiers dans une liste
Renommer des fichiers dans une liste Extrait du LoLiTa : Logiciels Libres à Tahiti et dans les îles http://www.lolita.pf/spip/spip.php?article32 Renommer des fichiers dans une liste - L'atelier des linuxiens - Atelier scripting - Date de mise en ligne : samedi 29 septembre 2007 LoLiTa : Logiciels Libres à Tahiti et dans les îles Copyright © LoLiTa : Logiciels Libres à Tahiti et dans les îles Page 1/3 Renommer des fichiers dans une liste Le présent script est tout petit et peut avoir plusieurs applications pratiques. Il sert à renommer des fichiers dans une liste. Exemple d'application : Vous avez pris 200 photos d'un évènement et vous voulez les renommer en fonction du thème. Dans le cas présent je rajoute une date à mon fichier, mais on peut lui rajouter n'importe quel commentaire... MariageTanteGertrude, EtudeMouvementMigratoirePoissonRougeDansBocal, etc... On peut même renommer complètement un fichier, mais dans ce cas, pensez à préserver les extensions et dans ce cas il faudra incrémenter un numéro à chaque fichier. (lister les *.jpg et renommer seulement ceux la en jpg, lister les *.mpg et renommer seulement ceux la en toto.mpg) #!/bin/sh #Auteur JVF - 20061231 # Reecriture d'un script ms-dos ayant pour objet de renommer des fichiers dans une liste. # fonctionnement : listage des fichiers et renommage par passage dans une boucle for. # Si un fichier est du type repertoire, il est éliminé du renommage, mais son état de # dossier est signalé. # Saint taxe vomissez pour nous : # ===> taper le nom du script suivi du chemin des fichiers à renommer ... # ===> auquel vous ajouterez l'argument du la partie de nom à rajouter. # ===> Les deux arguments seront respectivement interprétés en $1 et $2 : # ===> ce qui donnera : ./script.sh $1 $2 # exemple #script.sh /home/toto/photospoissonrouge/ 20061231 ls $1 > sList for var in ` cat ./sList` do if [ -f "$1/$var" ] then mv "$1/$var" "$1/$2$var" elif [ -d "$1/$var" ] then echo "$var" est un repertoire, ce fichier ne sera pas renommé. >> ./sResult fi done Résultat Tous les fichiers du dossier /home/toto/photospoissonrouge/ s'appelaient DSCF0xxx.JPG, il s'appellent maintenant 20061231DSCF0xxx.JPG Bien sur on peut faire mieux avec un tableur (Calc d'OpenOffice.org par exemple), mais c'est pour la forme... Si quelqu'un veut améliorer ce bout de script, et nous en faire profiter ce serait dans l'esprit de l'association. A plus. Post-scriptum : Article paru en premier sur le forum par Jonas Copyright © LoLiTa : Logiciels Libres à Tahiti et dans les îles Page 2/3 Renommer des fichiers dans une liste Auteur du script : Jonas Copyright © LoLiTa : Logiciels Libres à Tahiti et dans les îles Page 3/3