Find, sed & regex pour renommer des fichiers par lot

Le nez (et le front et les bras, et les jambes et les pieds) toujours plongé dans mes fichiers, je me retrouve avec une série de PDF du Guardian consacrés aux bureaux des écrivains — on a les fétichisme qu’on peut — que je souhaitais renommer en ne conservant que le nom de l’écrivain. Y en a une centaine, vous imaginez la corvée.

Changer le nom de plusieurs fichiers

Une application comme A better Finder Rename ferait ça en moins d’une minute, mais (il est payant et) j’avais encore envie de me frotter au Terminal (les expressions régulières et tout ça).

Bon, ce n’est probablement pas la méthode la plus élégante (et j’ai du demander un coup de main à ma tendre moitié) mais ça marche — et j’en suis pas peu fier 😉

find $PWD/.pdf | sed -E -e "s/(^[^]* (.) |.|.$)/mv \"\1\" \"\2.pdf\"/" | /bin/sh

En gros: ça récupère les noms des fichiers PDF dans le dossier actif, ça ne retient que ce qui est situé entre le “_ ” et le ” |”, le nom de l’auteur quoi, et ça l’utilise pour renommer chaque PDF. Simple. Enfin, si on veut.

Encore une fois, l’excellent A better Finder Rename est un peu plus simple d’emploi et ne prendra que quelques minutes là où j’ai passé plus de 2 heures… Ca doit être ça qu’on appelle la fièvre du samedi soir.

4 comments » Write a comment