Introduction

Linux offre plusieurs options pour renommer des fichiers, notamment en utilisant l’interface graphique et plusieurs commandes de terminal dédiées. Cela rend relativement facile le renommage de fichiers individuels, mais il peut être difficile de renommer plusieurs fichiers à la fois.

Dans ce tutoriel, nous allons passer en revue les différentes commandes que vous pouvez utiliser dans le terminal Linux pour renommer des fichiers sous Linux.

 Comment renommer des fichiers sous Linux

Prérequis

  • Un système exécutant une distribution Linux
  • Un compte avec des privilèges sudo
  • Accès à la fenêtre/ligne de commande du terminal
  • Accès à un éditeur de texte, tel que Vim ou Nano

Renommer des fichiers avec la commande mv

Le La commande Linux mv (move) est utilisée pour déplacer des fichiers et des répertoires à partir du terminal. Il utilise la syntaxe suivante:

mv 

Si vous spécifiez un répertoire comme destination lors de l’utilisation de la commande mv, le fichier source se déplace vers ce répertoire. Si la destination est un autre nom de fichier, la commande mv renomme le fichier source à ce nom à la place.

Remarque : En savoir plus sur l’utilisation de la commande mv dans notre guide pour déplacer des répertoires sous Linux.

Renommer un seul fichier avec la commande mv

L’utilisation de la commande mv avec sa syntaxe par défaut vous permet de renommer un seul fichier:

mv 

Par exemple, si nous voulons renommer example1.txt dans example2.txt, nous utiliserions:

mv example1.txt example2.txt

Comme il n’y a pas de sortie si la commande réussit, nous utilisons la commande ls pour vérifier si le nom est modifié:

ls -l
 Renommer un seul fichier à l'aide de la commande mv

Renommez plusieurs fichiers avec la commande mv

Seule, la commande mv renomme un seul fichier. Cependant, le combiner avec d’autres commandes vous permet de renommer plusieurs fichiers en même temps.

Une méthode consiste à utiliser la commande find pour sélectionner plusieurs fichiers avec un nom similaire, puis à utiliser la commande mv pour les renommer:

find . -depth -name "" -exec sh -c 'f="{}"; mv -- "$f" "${f%}"' \;

En utilisant cette syntaxe, la commande find définit un élément du nom de fichier en cours comme paramètre de recherche. Ensuite, -exec exécute la commande mv sur tous les fichiers qui correspondent à la recherche, en changeant leurs noms de fichiers actuels pour le nouveau.

Par exemple, si nous avons l’exemple1.txt, example2.txt, et example3.txt et que vous voulez changer l’extension en.PDF:

find . -depth -name "*.txt" -exec sh -c 'f="{}"; mv -- "$f" "${f%.txt}.pdf"' \;

 Renommer plusieurs fichiers à l'aide des commandes find et mv

Une autre méthode consiste à utiliser la commande mv dans le cadre d’une boucle <strong>for</strong> dans un script bash.

En utilisant le même exemple, commencez par créer et ouvrir un fichier de script bash à l’aide d’un éditeur de texte tel que Nano:

sudo nano rename_files.sh

Remarque : En savoir plus sur l’utilisation des scripts bash pour gérer les fichiers et les répertoires sous Linux.

Ajoutez les lignes suivantes au script:

#!/bin/bashfor f in *.txt; do mv -- "$f" "${f%.txt}.pdf"done

Dans le script ci-dessus:

  • La première ligne indique au script de rechercher tous les fichiers du répertoire courant se terminant par.txt.
  • La deuxième ligne utilise la commande mv sur chaque fichier trouvé pour remplacer le.extension txt avec.PDF.
  • La troisième ligne termine le segment de boucle.

Appuyez sur Ctrl + X, puis tapez Y et appuyez sur Entrée pour enregistrer les modifications apportées au script et quitter.

Utilisez la commande sh pour exécuter le script:

sh rename_files.sh
 Renommer plusieurs fichiers à l'aide d'un script bash

Renommer un fichier avec la commande renommer

La commande rename permet de renommer plusieurs fichiers ou répertoires sous Linux. Il offre plus de fonctionnalités que la commande mv mais peut être plus difficile à utiliser car il nécessite des connaissances de base sur les expressions Perl.

Comment installer la commande rename

Sur de nombreuses distributions Linux, la commande rename n’est pas disponible par défaut. Si la commande rename manque à votre système, installez-la avec:

  • Pour Ubuntu et Debian, utilisez sudo apt install rename
  • Pour CentOS et Fedora, utilisez sudo yum install prename
  • Pour Arch Linux, utilisez sudo pacman -S rename

Syntaxe et options de commande Rename

Il existe trois types d’expressions régulières Perl : match, substitute et traduire. La commande rename utilise des expressions de substitution et de traduction pour modifier les noms de fichiers et de répertoires.

Les expressions de substitution remplacent une partie du nom de fichier par une chaîne différente. Ils utilisent la syntaxe suivante:

rename 's///' 

Avec cette syntaxe, la commande renomme le fichier en remplaçant la première occurrence de l’élément filename par le remplacement. Dans la commande ci-dessus:

  • rename: Appelle la commande renommer.
  • : Fournit un argument facultatif qui modifie la façon dont la commande s’exécute.
  • s: Indique une expression de substitution.
  • : Spécifie la partie du nom de fichier que vous souhaitez remplacer.
  • : Spécifie un remplacement pour la partie du nom de fichier actuel.
  • : Définit le fichier que vous souhaitez renommer.

Une expression translate traduit une chaîne de caractères en une autre, caractère pour caractère. Ce type d’expression utilise la syntaxe suivante:

rename 'y///' 

Un exemple de commande rename utilisant une expression de traduction:

rename 'y/abc/xyz/'

Dans cet exemple, chaque caractère a du nom de fichier est remplacé par un x, chaque b par un y et chaque c par un z.

La commande rename utilise les options suivantes:

  • -a: Remplace toutes les occurrences de l’élément filename au lieu du premier.
  • -f: Force l’écrasement des fichiers existants.
  • -h: Affiche le texte d’aide.
  • -i: Affiche une invite avant d’écraser les fichiers existants.
  • -l: Remplace la dernière occurrence de l’élément filename au lieu de la première.
  • -n: Effectue une course à sec, sans apporter de modifications permanentes. Mieux combiné avec la sortie verbeuse (-v).
  • -s: Renomme la cible au lieu du lien symbolique.
  • -v: Affiche une version détaillée de la sortie.
  • -V: Affiche la version de la commande.

Exemples de commandes de renommage

1. Changer l’extension de fichier

Retour à notre dernier exemple, pour changer l’extension de fichier.txt à.pdf, utiliser:

rename -v 's/.txt/.pdf/' *.txt
 Utilisation de la commande renommer pour remplacer l'extension de fichier

2. Remplacer une partie d’un nom de fichier

Remplacer une partie différente du nom de fichier suit la même syntaxe. Pour renommer l’exemple1.txt, example2.txt, et example3.txt à test1.txt, test2.txt et text3.txt, utiliser:

rename -v 's/example/test/' *.txt
 Renommer plusieurs fichiers à l'aide de la commande renommer

3. Supprimer une partie d’un nom de fichier

L’option rename vous permet également de supprimer une partie du nom de fichier en omettant la partie de remplacement de l’expression. Par exemple, si nous voulons raccourcir l’exemple en ex:

rename -v 's/ample//' *.txt
 Suppression d'une partie du nom du fichier à l'aide de la commande renommer

4. Renommer des fichiers avec des noms similaires

Une autre utilisation de l’option rename consiste à renommer des fichiers avec des noms similaires. Par exemple, si nous voulons renommer des fichiers avec exemple et échantillon dans leur nom pour tester:

rename -v 's/(ex|s)ample/test/' *.txt
 Renommer plusieurs fichiers avec des noms similaires à l'aide de la commande renommer

5. Renommer des fichiers Caractère par caractère

La commande rename vous permet également d’utiliser des expressions de traduction pour renommer des fichiers caractère par caractère. Par exemple, si vous souhaitez renommer plusieurs fichiers nommés fichier d’exemple en remplaçant l’espace vide par un trait de soulignement (_):

rename -v 'y/ /\_/' *.txt
 Suppression des espaces vides des noms de fichiers à l'aide de la commande renommer

6. Convertir des caractères minuscules

Pour convertir des caractères minuscules dans les noms de fichiers en caractères majuscules, utilisez:

rename -v 'y/a-z/A-Z/' *.txt
 Conversion de noms de fichiers de minuscules en majuscules à l'aide de la commande renommer

7. Convertir les caractères majuscules

L’inverse fonctionne également si nous changeons l’ordre des caractères majuscules et minuscules dans l’expression:

rename -v 'y/A-Z/a-z/' *.TXT
 Conversion de noms de fichiers de majuscules en minuscules à l'aide de la commande renommer

Remarque: Soyez prudent lorsque vous modifiez la casse des caractères, car cela modifie également l’extension du fichier.

Conclusion

Après avoir lu ce tutoriel, vous devriez pouvoir renommer des fichiers à l’aide des commandes mv et rename sous Linux.

En savoir plus sur l’utilisation des commandes Linux dans notre feuille de triche Commandes Linux.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.