Edit du 19/01/2019 : suite au contact de Cyril Bois, je rajoute également son site pour les tests de RegEx.
Il existe plusieurs méthodes « petit barbu » pour traiter des renommages de masses sous linux en ligne de commande.
Deux commandes sont citées souvent rename et mmv. Cet article porte sur le premier 🙂
rename
Voici quelques exemples ‘simples’ d’utilisation de rename
A noter que pour tester les regex de « rename » on peut utiliser les sites suivants
Le second site contient également pleins d’outils sympathiques pour les CSS, JDOM…
Dans les exemples, l’option « -n » signifie noexecute, l’option -v = mode verbeux
- Insérer un 0 au numéro de saison d’une série:
Exemple :
12 Monkeys/Saison 01/12 Monkeys – 1×13 Arms of Mine – IMMERSE.mkv ⇒ 12 Monkeys/Saison 01/12 Monkeys – 01×13 Arms of Mine – IMMERSE.mkv
find . -type f -name "*.mkv" -exec rename -v 's/(.*[[:space:]]+-)[[:space:]]+([0-9]{1})(x.*\.mkv)/$1 0$2$3/' {} \;
- Supprimer la valeur » – Sonarr » d’un fichier quelconque
Game of Thrones – 02×01 The North Remembers – Sonarr.mkv ⇒ Game of Thrones – 02×01 The North Remembers.mkv
rename -n -v 's/(.*) - Sonarr(.*)/$1$2/' *
rename -n -v 's/(Game of Thrones - [0-9]+)x([0-9]+) -( .*\.[a-z]{2}\.srt)/$1x$2$3/' *.srt
- Insérer un 0 supplémentaire dans les fichiers ayants deux chiffres finaux;
Exemple:
03 – Darth Vader and the Cry of Shadows #05-05.jpg ⇒ 03 – Darth Vader and the Cry of Shadows #05-005.jpg
Cas particulier, les fichiers avec trois chiffres ne doivent pas être modifiés, par Exemple
03 – Darth Vader and the Cry of Shadows #05-105.jpg => 03 – Darth Vader and the Cry of Shadows #05-105.jpg
rename -n -v 's/(.*)-([0-9]{2})(\.jpg)/$1-0$2$3/' *.jpg
- renommer les fichiers « * – Txx » en » #xx »
- Changer rapidement les extensions des fichiers
rename 's/\.zip$/\.cbz/' *.zip