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

1

J'ai un groupe de fichiers photo qui sont nommés: ddmmyyyyxxxx.jpg(xxxx est juste un numéro de séquence) que j'essaie de rechercher mais malheureusement aucun résultat, est de renommer le nom de fichier 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.

Dark Edge 2008
la source
Dans un répertoire plat ou récursif?
Jacob Vlijm
Répertoire plat @JacobVlijm
Dark Edge 2008

Réponses:

3

Vous devriez pouvoir le faire en utilisant des groupes de capture avec la renamecommande basée sur perl, par exemple à sa plus simple

rename -vn -- 's/^(\d{2})(\d{2})(\d{4})/$3-$2-$1/' *.jpg

(Remarque: il -ns'agit d'un indicateur de série: il ne changera rien si vous ne le supprimez pas.)

Steeldriver
la source
2

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 scriptsuivi de chmod +x scriptpour le rendre exécutable. Puis lancez nano scriptet copiez le code ci-dessus dans le terminal. sauvegardez le fichier en appuyant sur CTRL+ X, suivi de Ypuis sur 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 porte un nom différent (il pt-ri-sc-.iptvous recommandera de l'exécuter mv pt-ri-sc-.ipt scriptavant d'utiliser à nouveau le script. Sinon, vous pouvez le remplacer lspar ls $1et. stockez le script ailleurs pour éviter de le renommer par accident.Ce script ne fonctionnera correctement que pour les fichiers dont le nom se trouve dans l'ordre indiqué dans la question ( ddmmyyyyxxxx.jpg). Pour tous les autres fichiers, le fichier se verra attribuer un nom étrange.

Rumesh
la source
0

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.

utilisateur219502
la source