web-dev-qa-db-fra.com

Réorganiser les composants des noms de fichiers pour un groupe de fichiers

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.

1
Dark Edge 2008

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.)

3
steeldriver

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.

2
Rumesh

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.

0
user219502