Skip navigation

Commande : rename – renommage multiple

Renommage multiple de fichiers

Le renommage multiple est très simple il faut seulement comprendre la synthax de la commante rename qui est sensiblement la même que l’outil de recherche de Vim.

: il est fortement recommandé d’utiliser l’option -n ou --no-act en premier lieu pour afficher le résultat obtenu avec le partern donnée. Comme son nom l’indique, cette option n’agit pas sur les fichiers, mais montre le résultat que l’on obtiendrait.

Les options de rename étant peu nombreuses, commençons par là.

Option Description
-n, --no-act Montre le résultat de la commande sans agir sur les fichiers. Il est fortement recommander de commencer par cette option.
-f, --force Écrit par dessus les fichiers si ceux-ci existe déjà.
-v, --verbose Mode verbeux, affiche des informations détaillées sur le renommage en cours.

Forme général de la commande :

user@debian~$: rename -v 's/old-name/new-name/' format-de-fichier

Changer les extensions de fichier

Par exemple pour changer tous les *.txt en *.doc :

solution

user@debian~$: rename -v 's/\.txt/\.doc/' *

Cette commande va changer toutes les extensions .txt en .doc sans se soucier de la partie avant de l’extension.

contre exemple

user@debian~$: rename -v 's/txt/doc/' *

Cette commande va seulement changer la partie txt des noms de fichiers en doc. Toutefois, si le patern txt apparaît également dans le nom des fichiers il sera également substitué.

contre exemple

user@debian~$: rename -v 's/txt$/doc/' *

Cette commande va changer txt en doc pour n’importe quel fichier qui contient txt (sans le « . ») à la fin de son nom, ce qui signifie que si un fichier est n’a pas l’extension .txt, il sera renommé aussi. C’est pourquoi la meilleure commande pour modifier tous les fichiers txt en doc est :

Supprimer des caratères dans les noms de fichier

Un autre exemple est d’enlever le tiret (“-“) devant les noms de fichiers :

user@debian~$: rename -v 's/-*//' *

Si vous avez une collection de chansons d’un même chanteur, afin d’ajouter le nom du chanteur avant le nom des fichiers *.ogg :

user@debian~$: rename -v 's//singers-name-/' *.ogg

Dans le cas où l’on souhaite supprimer ou modifier un élément qui apparaît à plusieurs reprises dans les noms de fichiers (par exemple, kakarot.png, kanaka.txt, bakaka.mp3 ….), si l’une des commandes ci-dessus est utilisée, seule le premier groupe de caractères « ka » sera modifiés ou supprimés. Pour supprimer ou modifier tous les « ka », il faut utiliser l’option g(global).

Voici la commande pour supprimer tous les « ka » des noms de tous les fichiers :

user@debian~$: rename -v 's/ka//g' *

Convertion de caractère

: Outre l’option s (signifiant substitut), y (signifiant traduit) est une autre option que vous pouvez essayer avec rename. Par exemple, pour convertir tous les noms de fichiers en majuscules, vous pouvez utiliser cette commande :

user@debian~$: rename -v 'y/A-Z/a-z/' *

Un autre exemple est de remplacer les espaces par des tirets (« – ») dans les noms de fichiers ou de répertoires.

user@debian~$: rename -v 'y/ /-/' 

by | October 20, 2013 | No Comments | Manipulation de fichier | Tags : rename