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