Voici un petit script qui permet de trier ses photos en fonction de la date où la photo a été prise. Il utilise pour cela les metadata EXIF contenues dans les photos pour les renommer par ordre de date.

En effet, l'ordre alphabétique des photos ne correspond pas toujours à l'ordre chronologique. Et la date des photos affichée par nautilus, ls -a ou autres est parfois la date de la sauvegarder sur le PC, càd la même date pour toutes les photos.

Utilisation
Lancer le script ./datePhoto et laissez-le dans un premier temps analyser vos photos :
 $ datePhotos
[4/6] détection de la date de 'soleil 5.jpg'...
Si elles ne sont pas triées par ordre, vous aurez alors la possibilité, si vous le souhaitez, de donner un nouveau nom à vos photos et enfin de les trier :
 $ datePhotos
Les 6 photos ne sont pas triées par date.
Voulez-vous renommer les 6/6 photos par ordre [o/N] ? o
Nom des photos ['soleil' par défaut <enter>] : 
[1/6]  soleil 11.jpg    ==>     soleil 1.jpg
[2/6]  soleil 2.jpg     ==>     soleil 2.jpg
[3/6]  soleil 7.jpg     ==>     soleil 3.jpg
[4/6]  soleil 4.jpg     ==>     soleil 4.jpg
[5/6]  soleil 5.jpg     ==>     soleil 5.jpg
[6/6]  soleil 6.jpg     ==>     soleil 6.jpg

Vous confirmez [O/n] ?
Un petit <enter> et c'est fait !!

Option : il est possible de ne trier que les photos portant un certain nom : "datePhoto vacance" ne renommera que vos photos de vacance !

Extension : vérifier (sans trier) si toutes vos photos sont bien triées dans chacun des sous-dossiers contenant des photos : utiliser datePhotosDir ! Exemple :
 $ cd ToutesMesPhotos
 $ datePhotosDir 
Dossier . :
Pas de photos.

Dossier ./2006 :
Les 2 photos ne sont pas triées par date.

Dossier ./2006/avril :
OK, les 6 photos sont bien triées par date.

Remarque datePhoto nécessite ImageMagick, installé par défaut sur Fedora par exemple.


Télécharger le script : datePhotos,
Télécharger le script : datePhotosDir.

Autres manières de renommer vos fichiers :
  • changer le nom de fichiers (pas uniquement des photos) avec renomme<Mis à jour> 8/12/2006 (anciennement 'renamePhotos')
  • la commande "rename stringA stringB fichiers" change "stringA" par "stringB" dans le nom des "fichiers"