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