# Renommer fichiers dans l'ordre chronologique



## Scandale (17 Avril 2011)

Bonjour à tous,
J'espère que je suis dans la bonne partie du forum pour demander ça. 

J'essaye tant bien que mal de trouver une piste pour écrire un commande, ou à défaut un script, me permettant de renommer un paquet d'image JPEG dans un ordre chronologique.

Je m'explique mieux :
J'ai des images qui vont de IMGP0175.JPG à IMGP0584.JPG et je souhaite les renommer de 001.jpg à 409.jpg dans leur ordre de création de fichier. On peut également se baser sur le nom original du fichier qui respecte déjà l'ordre chronologique, mais je me dis que ça complique peut-être pour rien.

Voilà, donc si quelqu'un veut me balancer une commande, un script ou m'indiquer une piste pour trouver par moi-même sans devoir me taper toute la doc de bash.

Je suis sur Darwin 10.6 et j'ai MacPort d'installé si besoin.


----------



## ntx (18 Avril 2011)

"ls -t > tmp_file"

Crée un  fichier temporaire avec les noms de tes fichiers classés dans l'ordre chronologique

"cat tmp_file" pour lire ce fichier ligne par ligne combiné avec un "for" pour boucler sur la liste des noms de fichiers.

Dans la boucle tu incrémentes un compteur pour créer le nouveau nom de ton fichier.
Puis tu exécutes un "mv" pour renommer ce fichier.

Bien sûr on ne teste ce genre de script que sur une copie de son dossier, au cas où ...


----------



## edd72 (18 Avril 2011)

Mouais, enfin l'écriture de la liste dans un fichier puis la lecture de ce fichier, c'est très moyen quand même (v'la l'optim si à chaque pseudo-étape on génère un fichier)... Le pipe | est ton ami 
(et y'a mieux ici, un for a in ls -t *.JPG...)



> for a in `ls -t`; do echo $a; done



Tu initialises un compteur avant, tu remplaces le echo par un mv qui utilise ton compteur formatté sur 3, tu incrémentes ton compteur avant le done.


----------



## thunderheart (19 Avril 2011)

Et si allergique à la ligne de commande, tu peux aussi utiliser Name Mangler


----------



## Scandale (24 Avril 2011)

Merci pour vos réponses


----------

