Table des matières

rename

Introduction

La commande rename modifie les fichiers selon la règle spécifiée comme premier argument.
Elle apparaît dans son utilisation comme un mix entre mv et sed, de fait elle se justifie d'utilisation lorsque nous avons des séries de fichiers à renommer plutôt qu'un seul.

Préalable

Pour les exemples de ce tuto, créez le répertoire2) test_rename dans votre /home/user ainsi :

mkdir ~/test_rename

Renommer un fichier

Maintenant, créez3) dans ce répertoire le fichier nimporte :

touch ~/test_rename/nimporte

Contrôle4) :

ls ~/test_rename/
 nimporte

Renommez ce fichier nimporte en test1 :

rename 's/nimporte/test1/' ~/test_rename/nimporte

Résultat :

ls ~/test_rename/
 test1
Nota :

Il est bien sûr préférable d'utiliser la commande mv pour faire cela en plus simple. :-)

Renommer en série

Maintenant créons dans le même répertoire test_rename une série de fichiers contenant des majuscules dans leurs noms et leurs extentions :

cd ~/test_rename/
touch TEST2 TEsT3 test.JPG tESt.ODT

Contrôle :

ls
 test1 TEST2  TEsT3  test.JPG  tESt.ODT

Pour mettre tous les noms de tous les fichiers ainsi que toutes leurs extentions en minuscule, utilisez des expressions régulières5) comme ceci :

rename 'y/[A-Z]/[a-z]/' *

Résultat :

ls
 test1 test2  test3  test.jpg  test.odt
 

Exemples

Changer les extentions de plusieurs fichiers ( .gz.1 en .gz par exemple )

rename 's/\.1$//' *.gz.1

Liens

À suivre…

1)
N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !
5)
regexp en cours d'amélioration…