ZSH plus loin : ZMV

Les petites gens utilisent un environnement de bureau mais en tant que rustre, je préfère largement l’austérité d’un sombre terminal.

Vous connaissez probablement la commande mv qui permet de move un fichier. C’est bien dans 90% des cas, mais il arrive des fois que vous ayez plein de fichiers à bouger avec juste une partie à renommer. Et là c’est pas mal galère.

Vous allez pouvoir renommer les fichiers en masse avec quelques options sympatoches grâce à notre cher ZMV !

vous voulez changer un motif récurrent en début de nom par un autre (souvent je préfixe les fichiers) :

Original Renommé
XXX-fichier1.jpg YYY-fichier1.jpg
XXX-fichier2.jpg YYY-fichier2.jpg
XXX-fichier3.jpg YYY-fichier3.jpg

zmv ‘XXX(*)’ ‘YYY$1’

 

Tout simplement.

zmv ‘le_motif_quon_change(*)’ ‘$1-cequonchange’

Pour être safe, on peut rajouter -n qui affichera les modifs devant être effectuées sans les faire. Et sinon il y a le mode interactif avec -i qui nécessitera que vous validiez chacune des modifs.

Bien entendu il y a d’autres options qui sont documentées mais celles-là devraient vous suffire.

L’extra-bonus vient du support des modifiers et du globbing de ZSH mais ça c’est pour une prochaine fois. Avec ces deux bidules supplémentaires, il est possible d’ajouter des critères pas mal du tout. ex : zmv ‘* *’ ‘$f:gs/ /_’ pour remplacer les espaces par des underscores. Bon j’arrive jamais à m’en rappeler, hein, mais au moins je sais où le retrouver.

PS : Pour pouvoir l’utiliser il faut ajouter autoload -U zmv dans votre ~/.zshrc.