1. Modifier la date de création de fichiers photos

1.1. Description

La galerie photo de mon téléphone Android affiche les photos par date de modification des fichiers. Lors de la restauration d'une sauvegarde, les fichiers sont recréés et les photos sont donc affichées dans le désordre.

Comme la date de prise de la photo se trouve dans le fichier (données "EXIF"), j'aimerais écrire un script pour remettre de l'ordre dans tout ça.

1.2. Objectif

Il s'agit d'écrire une fonction shell qui prend une liste de fichiers en arguments et change la date de modification de chacun de ces fichiers en fonction des informations EXIF (Exchangeable image file format).

Si ces informations ne sont pas présentes, les méta-données des fichier ne sont pas modifiées.

Voici un exemple d'exécution :

$ source maj_dates.sh
$ ls -tr *.jpg
Belledonne_soleil.jpg  Belledonne.jpg  Bauges_Mont_Blanc.jpg  Bauges_Belledonnes.jpg  Bauges.jpg
$ maj_dates *.jpg
Modification du fichier Bauges.jpg
Modification du fichier Bauges_Belledonnes.jpg
Modification du fichier Bauges_Mont_Blanc.jpg
Modification du fichier Belledonne.jpg
Modification du fichier Belledonne_soleil.jpg
Fin de la fonction
$ ls -tr *.jpg
Belledonne.jpg  Bauges.jpg  Bauges_Belledonnes.jpg  Bauges_Mont_Blanc.jpg  Belledonne_soleil.jpg

Note, ls -tr permet d'afficher la liste des fichiers dans l'ordre chronologique de dernière modification.

1.3. Précisions

Vous pouvez utiliser les photos de cette archive (prises sur Wikipedia) pour tester votre fonction.

Commencez par lire les sections suivantes :

1.4. Pour aller plus loin