J'ai un groupe de fichiers photo nommés: ddmmyyyyxxxx.jpg
(xxxx n'est qu'un numéro de séquence) que j'essaie de rechercher mais, malheureusement, aucun résultat, consiste à renommer le nom de fichier en yyyy-mm-dd-xxxx.jpg
.
Tout ce que je peux trouver sur le net est soit de remplacer certains personnages, soit de changer la casse des lettres.
Vous devriez pouvoir le faire en utilisant groupes de capture avec la commande rename
basée sur Perl, par exemple. à sa plus simple
rename -vn -- 's/^(\d{2})(\d{2})(\d{4})/$3-$2-$1/' *.jpg
(Remarque: le -n
est un indicateur d'essai: il ne changera rien si vous ne le supprimez pas.)
Vous pouvez le faire en utilisant le script bash suivant.
#!/bin/bash
for file in $(ls)
do
date=${file:0:2}
month=${file:2:2}
year=${file:4:4}
sequence=${file:8:4}
extension=${file: -3}
mv $file $year\-$month\-$date\-$sequence.$extension
done
echo all files have been renamed
Pour utiliser ce script, ouvrez un terminal et tapez touch script
suivi de chmod +x script
pour le rendre exécutable. Ensuite, exécutez nano script
et copiez-collez le code ci-dessus dans le terminal. sauvegarder le fichier en appuyant sur CTRL+X, suivi de Y puis enter. Déplacez ensuite le script dans le répertoire contenant ces images et exécutez-le en exécutant ./script
.
Ceci renommera tous les fichiers du répertoire du script selon le modèle que vous avez demandé. Cependant, il renommera également le script lui-même. Par conséquent, si vous souhaitez l'exécuter à nouveau, notez qu'il aura un nom différent (il s'agira finalement de pt-ri-sc-.ipt
. Je vous recommanderais d'exécuter mv pt-ri-sc-.ipt script
avant d'utiliser le script à nouveau. Sinon, vous pouvez remplacer ls
par ls $1
et stocker le script ailleurs pour éviter de le renommer par accident. Ce script ne fonctionnera également correctement que pour les fichiers dont le nom figure dans l'ordre indiqué dans la séquence. question (ddmmyyyyxxxx.jpg
). Pour tous les autres fichiers, le fichier se verra attribuer un nom étrange.
Pour ce type de procédure, j'utilise Krename, il possède une interface graphique et est légèrement intuitif… Sous Ubuntu, vous le trouverez dans le Centre logiciel.