Faites le tri dans vos photos !
Par Nicofo le samedi 7 février 2009, 17:21 - Linux - Lien permanent
Script mis à jour - 07/02/2009 
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 !!
Options
- il est possible de ne trier que les photos portant un certain nom : "
datePhotos vacance" ne renommera que vos photos de vacance ! - vous pouvez ajouter la date dans le nom du fichier : "
datePhotos --ajoutDate" - vous pouvez aussi afficher à l'écran la date des photos : "
datePhotos --affiche" - toutes les options sont disponibles avec "
datePhotos --help"
Extension : utilisez
datePhotos récursivement dans tous les sous-dossiers grâce à datePhotosDir : [afficher/cacher]
Remarque datePhotos 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
- la commande "
rename stringA stringB fichiers" change "stringA" par "stringB" dans le nom des "fichiers"
Commentaires
Bonjour,
Super script bien pratique, mais j'ai juste un petit truc qui pourrait être pas mal. Il serait pratique de pouvoir mettre la date et l'heure dans le nom du fichier après renommage car si on renomme beaucoup de photos pas lots, elles se rangeraient toutes seules sans avoir à tout repasser.
Merci encore pour ce script.
PS : Si qq un peut me dire comment rajouter les informations dans le script. Merci
Salut,
ah, je constate que mon script est quand même utile
Pour la date, je ferais (en ayant réfléchi très rapidement) :
0) la ligne 87 crée déjà un fichier (fichFich) avec le les noms ordonnés
1) je rajouterais une instruction du même genre mais qui garde la date au lieu du nom du fichier (-> fichier fichD p. e.).
2) dans le while sur les fichiers (ligne 107), à l'itération 'i', récupérer la ligne 'i' du fichier fichD.
Voilà juste une piste...
bonjour et merci pour ces scripts
Je découvre par hasard ton site alors que je recherche comment utiliser imagemagick pour compresser un peu + mes jpg tout en conservant les données exif
je les télécharge et le les range soigneusement sur mon bureau !
merci encore de mettre ton travail à dispo de tous
fulup
Merci !
Salut,
Je suis tombé sur ton script. Ce qui donné la curiosité de tester la commande identify.
Cette commande ne marche pas bien sous Lenny ni Intrepid (Ubuntu).
Pour ceux que cela intéressent mes recherches m'ont amené à la remplacer par la commande exif (package du même nom) :
date="$(exif -m --tag=DateTimeOriginal "$file")"
merci!
Un script qui m'a bien sauvé, félicitation.
Pour renommer les fichiers j'utilise krename (je ne sais pas si c'est spécifique kde mais il fonctionne très bien)
http://www.krename.net/