Adam the Automator

Êtes-vous nouveau sur le système d’exploitation Linux? Si c’est le cas, les tâches courantes telles que le renommage de fichiers et de dossiers peuvent être différentes de celles auxquelles vous êtes habitué. Mais ne vous inquiétez pas. Le concept de renommage de fichiers sous Linux est similaire à celui d’autres systèmes d’exploitation.

Dans ce tutoriel, vous apprendrez de nombreuses façons de renommer des fichiers uniques et multiples sous Linux, à la fois via une interface graphique et en exécutant des commandes dans un terminal.

Commençons!

Table des Matières

Prérequis

Pour suivre ce tutoriel, assurez-vous d’avoir les éléments suivants:

  • Ce tutoriel utilise Ubuntu 18.04 LTS, mais d’autres distributions Linux fonctionneront.
  • Un compte avec accès sudo/administrateur.

Renommer des fichiers avec le Gestionnaire de fichiers

Si vous avez l’habitude de gérer des fichiers via une interface graphique, commençons ce tutoriel pour renommer des fichiers avec un gestionnaire de fichiers. Les gestionnaires de fichiers GUI sont soignés car vous pouvez voir les fichiers à la vue. L’un de ces gestionnaires de fichiers disponibles sous Linux est l’ancien gestionnaire de fichiers de GNOME, Nautilus. Ce tutoriel montre le changement de nom de fichiers à l’aide du gestionnaire de fichiers Nautilus.

Les autres gestionnaires de fichiers de Linux sont Konqueror, Dolphin, Krusader, Thunar, Nemo file manager et Sunflower file manager. Ces gestionnaires de fichiers effectuent la même tâche, mais renommer des fichiers ou des répertoires peut être légèrement différent.

Lancez votre terminal, puis exécutez la commande ci-dessous pour installer Nautilus (install nautilus) avec le gestionnaire de paquets apt si vous ne l’avez pas encore sur votre machine. La commande sudo élève la commande avec les droits sudo/administrateur.

sudo apt install nautilus

Renommer un seul fichier

Renommer un seul fichier dans Nautilus ne prend que quelques clics, comme dans l’Explorateur de fichiers Windows.

Pour renommer un seul fichier, ouvrez Nautilus, faites un clic droit sur le fichier que vous souhaitez renommer et choisissez Renommer, comme indiqué ci-dessous.

Cet exemple se concentre sur le changement de nom des fichiers, mais le processus est le même pour renommer les fichiers et les répertoires.

 Renommer un seul fichier
Renommer un seul fichier

Tapez maintenant le nouveau nom de fichier pour remplacer le nom de fichier d’origine, appuyez sur Entrée ou cliquez sur Renommer, et c’est tout.

 Saisie d'un Nouveau Nom de Fichier
Saisie d’un Nouveau Nom de Fichier

Renommer plusieurs fichiers à l’aide de Nautilus File Manager

Comme Windows, Ubuntu vous donne plus d’options sur la façon dont vous souhaitez renommer plusieurs fichiers à la fois.

Pour renommer plusieurs fichiers, sélectionnez tous les fichiers que vous souhaitez renommer, cliquez avec le bouton droit sur l’un d’eux et choisissez Renommer. Une fenêtre contextuelle apparaîtra où vous pourrez choisir comment renommer les fichiers que vous avez sélectionnés.

 Renommer Plusieurs Fichiers À L'Aide De Nautilus.
Renommer Plusieurs Fichiers À L’Aide De Nautilus.

Ci-dessous, vous avez le choix entre deux options en fonction de la façon dont vous souhaitez renommer les fichiers sélectionnés.

  • Renommer à l’aide d’un modèle – Cela vous permet de renommer des fichiers par incréments.
  • Rechercher et remplacer du texte – Vous permet de rechercher et de remplacer certains textes dans les noms de fichiers.

Renommer des fichiers à l’aide d’un modèle

Pour renommer des fichiers à l’aide d’un modèle, sélectionnez l’option Renommer à l’aide d’un modèle.

Entrez maintenant le nom de remplacement dans le champ vide pour renommer les fichiers avec un modèle, puis cliquez sur le bouton + Ajouter et choisissez parmi les modèles. Pour ce tutoriel, sélectionnez le premier (1,2,3,4) et cliquez sur Renommer. Cette option ajoute des numéros d’incrémentation à chaque fichier après le nom de fichier de remplacement (Text1, Text2, Text).

 Renommer des fichiers à l'aide d'un Modèle
Renommer des fichiers à l’aide d’un Modèle

Notez que les noms de fichiers ont été changés en Texte, suivis de numéros incrémentés.

 Vérification des Noms de fichiers Changés en "Texte" avec Incrémentation de Num
Vérification des Noms de fichiers Changés en « Texte » avec Incrémentation de Num

Recherche et remplacement de mots dans les noms de fichiers

Pour renommer plusieurs fichiers avec un nom de fichier spécifique, sélectionnez l’option Rechercher et remplacer le texte.

Saisissez le texte dans le champ Texte existant et le texte de remplacement dans le champ Remplacer par, puis cliquez sur Renommer pour remplacer le texte. Cette option trouve et remplace certains textes dans les noms de fichiers.

 Remplacement des Textes dans les Noms de fichiers
Remplacement des Textes dans les Noms de fichiers

Maintenant, vous pouvez voir ci-dessous que vous avez remplacé le mot « Texte » par « Fichier » dans chaque nom de fichier.

 Vérification du mot "Texte" a été remplacé par le mot "Fichier" sur Chaque Fichier
Vérification du mot « Texte » a été remplacé par le mot « Fichier » sur Chaque Fichier

Renommer des fichiers avec la commande mv

Si l’exécution de commandes est votre truc au lieu de naviguer dans une interface graphique, préparez-vous à apprendre à renommer des fichiers dans un terminal. Renommer des fichiers dans le terminal Linux est similaire à celui d’autres environnements de ligne de commande, tels que PowerShell. Vous exécutez les commandes pour renommer le nom de fichier d’origine avec le nom de fichier cible, et c’est tout.

Il existe deux scénarios pour renommer un fichier. La première consiste à renommer un fichier à partir du répertoire de travail et la seconde consiste à spécifier le chemin complet. Jetez un œil à la syntaxe de commande mv ci-dessous pour renommer un fichier, où source est le nom d’origine et destination le nom de remplacement.

# Rename a file or directory in the working directorymv <source> <destination># Rename a file by specifying the full pathmv <~/mydir/source> <~/mydir/destination>

Renommer un seul fichier avec la commande mv

Alors que la syntaxe de la commande mv est encore fraîche dans votre esprit, essayons de renommer un seul fichier.

Pour montrer comment renommer un seul fichier et répertoire :

1. Lancez votre terminal, puis exécutez la série de commandes ci-dessous pour créer un répertoire et deux fichiers texte.

# Create a directory named 'test'mkdir test # Change directory to ~/testcd test # Create text files named 'file1.txt' and file2.txttouch file1.txt file2.txt 

2. Ensuite, exécutez la commande ls pour répertorier les fichiers dans le répertoire de travail. Ci-dessous, vous pouvez voir ce fichier1.txt et fichier2.txt existe dans le répertoire ~/test.

 Liste des fichiers dans le Répertoire de travail
Liste des fichiers dans le Répertoire de travail

3. Exécutez l’une des commandes mv ci-dessous pour renommer file1.txt en file10.txt.

# Rename a file in the working directorymv file1.txt file10.txt# Rename a file by specifying the full pathmv ~/test/file1.txt ~/test/file10.txt

Renommer un répertoire revient à renommer un fichier, comme ceci : mv ~/test ~/demo. Le symbole ~ indique le répertoire personnel.

4. Enfin, relancez la commande ls pour lister les fichiers dans le répertoire de travail.

Ci-dessous, vous pouvez voir ce fichier1.txt est maintenant renommé file10.txt.

 Fichier de confirmation1.txt est renommé en fichier10.txt
Fichier de confirmation1.txt est renommé en fichier10.txt

Renommer plusieurs fichiers avec une boucle For

Si vous êtes trop occupé par d’autres tâches et que vous souhaitez renommer tous les fichiers en une seule fois, vous devrez utiliser une instruction for loop comme celle ci-dessous.

Copiez le code ci-dessous tel quel, collez-le dans votre terminal et appuyez sur Entrée. Le code ci-dessous analyse chaque fichier texte dans le répertoire de travail et renomme les fichiers avec « Fichier » suivi d’un numéro d’incrémentation.

# Declares variable with value set to 1i=1 # Scans each text file in the working directoryfor file in *.txt; # Iterate the command below until all files are scanneddo # Renames each file with "File" followed by incrementing number ($i)mv -- "$file" "File$i.txt" # Increments the variables current number value by 1 i=$((i+1)) done

Coller le code dans votre terminal fonctionne bien, mais comme bonne pratique, il est préférable de créer un fichier de script à exécuter à la place.

Ci-dessous, vous pouvez voir en action comment le code renomme tous les fichiers.

 Renommer des fichiers avec une Boucle For
Renommer des fichiers avec une boucle For

Renommer des fichiers sous Linux avec l’utilitaire de renommage

Si vous renommez un seul fichier dans votre routine quotidienne, la commande mv suffira. Mais peut-être visez-vous à renommer plusieurs fichiers avec le même motif à la fois? Par exemple, renommer des fichiers qui commencent par un certain mot (fichier). Dans ce cas, installez plutôt l’utilitaire renommer.

L’utilitaire renommer renomme plusieurs fichiers, modifie les formats de noms de fichiers et écrase les fichiers.

Pour installer l’utilitaire renommer, exécutez l’une des commandes ci-dessous en fonction de la distribution Linux sur laquelle vous travaillez.

# Install rename utility with the apt package manager for Ubuntu, Debian, and Linux Mintsudo apt install rename# Install rename utility with the dnf package manager for CentOS, Fedora, and Red Hatsudo dnf install prename# Install rename utility with the pacman package manager for Arch Linux / Manjaro Linuxsudo pacman -S perl-rename

Vous pouvez voir ci-dessous la syntaxe de la commande rename.

rename <options> <perlexpr> <files>

Renommer plusieurs fichiers

Avec la syntaxe de commande rename à l’esprit, vous pouvez maintenant renommer des fichiers qui ont le même modèle. Ce qui est génial avec la commande rename, c’est que vous n’avez pas besoin de déclarer une fonction de boucle pour renommer plusieurs fichiers comme vous l’avez fait dans la section « Renommer plusieurs fichiers avec une boucle For ».

Peut-être souhaitez-vous renommer des fichiers avec certains mots dessus. Si c’est le cas, jetez un œil à l’expression régulière Perl ('s/file/myfile/') dans l’exemple de commande ci-dessous. Les expressions régulières Perl définissent un motif de chaîne basé sur le langage de programmation Perl.

Pour éviter de renommer par erreur d’autres fichiers, répertoriez tous les fichiers concernés avant de les renommer en ajoutant l’option -n, comme indiqué ci-dessous.

rename -n 's/file/myfile/' *.txt
 Liste Des Fichiers Affectés Avant De Les Renommer
Liste Des Fichiers Affectés Avant De Les Renommer

Exécutez maintenant l’une des commandes rename ci-dessous pour remplacer le mot file par myfile dans le nom de chaque fichier texte dans le répertoire de travail ou le répertoire ~/test/*.txt.

Dans l’expression Perl ('s/file/myfile/'), s indique la substitution, ce qui signifie que vous renommez des fichiers. Notez que l’option -v est ajoutée pour renvoyer les fichiers renommés par la commande.

# Replace 'file' with 'myfile' in each file's name in the working directoryrename -v 's/file/myfile/' *.txt# Replace 'file' with 'myfile' in each file's name in the ~/test directoryrename -v 's/file/myfile/' ~/test/*.txt

Ci-dessous, vous pouvez voir que chaque mot « fichier » dans les fichiers texte est renommé en « myfile. »

 Renommer un Fichier avec la commande rename
Renommer un Fichier avec la commande rename

Si vous préférez renommer tous les fichiers à la place, supprimez l’extension de fichier lorsque vous spécifiez le chemin du fichier, par exemple, rename -v 's/file/myfile/' ~/test/*

Modification des extensions de fichier

Autre que les noms de fichiers, la commande rename renomme également les extensions de fichier. Peut-être avez-vous créé des fichiers avec la mauvaise extension de fichier. Dans ce cas, vous spécifiez l’extension de fichier à modifier dans une expression Perl lorsque vous exécutez la commande rename.

Exécutez la commande rename ci-dessous pour changer l’extension de tous les fichiers (*) de .txt à .html dans le répertoire ~/test. Le symbole $ dans l’expression Perl correspond à la fin d’une chaîne (.txt) à chaque nom de fichier, de sorte que la commande ne modifie que les extensions de fichier .txt. Et comme pour renommer plusieurs fichiers, ajoutez l’option -v pour répertorier chaque modification apportée par la commande.

rename -v 's/.txt$/.html/' *.txt

Pour supprimer toutes les extensions de fichier à la place, supprimez la chaîne de remplacement dans l’expression Perl, comme ceci: rename -v 's/.txt$//' *.txt

Comme vous le voyez dans l’image ci-dessous, le.extensions txt changées en.html

 Modification des extensions de fichier à partir de.txt à.html
Modification des extensions de fichier à partir de .txt à.html

En changeant les noms de fichiers en majuscules et Minuscules

Au lieu d’extensions de fichier incorrectes, vous pouvez avoir affaire à des noms de fichiers en minuscules et vice versa. Vous essayez peut-être de trouver un fichier spécifiquement en majuscules, sans savoir que le nom du fichier est en minuscules.

Linux est sensible à la casse, alors assurons-nous que la casse de chaque nom de fichier est correcte. La casse des lettres est essentiellement la distinction des textes entre minuscules et majuscules.

Exécutez l’une des commandes rename ci-dessous pour changer tous les noms de fichiers en minuscules (a-z) dans le répertoire de travail (*) en majuscules (A-Z) et vice versa.

# Change filename from lowercase to uppercaserename -v 'y/a-z/A-Z/' *# Change filename from uppercase to lowercaserename -v 'y/A-Z/a-z/' *

Vous pouvez voir ci-dessous les deux résultats de la modification de la casse d’une lettre de nom de fichier.

 Changer le Nom du fichier de Minuscules en Majuscules et Vice Versa
Changer le Nom du fichier de Minuscules en Majuscules et Vice Versa

Remplacement et suppression d’espaces dans les noms de fichiers

Comme pour la casse d’un nom de fichier, vous pouvez avoir du mal à trouver des fichiers s’ils ont des espaces dans leurs noms de fichiers. Corrigeons cela en remplaçant les espaces par un caractère ou en supprimant complètement les espaces.

Exécutez la commande rename ci-dessous pour remplacer les espaces dans tous les noms de fichiers par un trait de soulignement (_) dans le répertoire de travail. Puisque le trait de soulignement est un métacaractère, échappez-le avec une barre oblique inverse (\_) pour déclarer le trait de soulignement littéralement. Les métacaractères sont des caractères spéciaux avec des significations spéciales dans un programme informatique.

Notez que le g dans l’expression Perl indique à la commande de remplacer toutes les correspondances (espaces), et pas seulement la première.

rename -v 's/ /\_/g' *

Ci-dessous, vous pouvez voir que la commande a remplacé tous les espaces par des traits de soulignement.

 Remplacement des espaces par des traits de soulignement dans un nom de fichier
Remplacement des espaces par des traits de soulignement dans un nom de fichier

Pour supprimer tous les espaces d’un nom de fichier au lieu de les remplir d’un caractère, exécutez la commande ci-dessous.

Dans l’expression Perl ci-dessous, l’astérisque après l’espace vide (/ *) correspond à toutes les occurrences d’espaces dans un nom de fichier et pas seulement au premier. Le caractère de remplacement étant vide (//), la commande rename supprime tous les espaces (g).

rename -v "s/ *//g" *

Maintenant, vous pouvez voir ci-dessous que tous les espaces sont supprimés de chaque nom de fichier.

 Suppression de tous les espaces dans les noms de fichiers
Suppression de tous les espaces dans les noms de fichiers

Mettre en majuscule la Première Lettre de Chaque mot dans un Nom de fichier

Si vous préférez conserver les espaces et mettre en majuscule la première lettre de chaque mot dans un nom de fichier à la place, vous aurez besoin d’une expression Perl plus complexe. Jetez un œil à l’exemple de commande ci-dessous.

L’expression Perl ci-dessous correspond à un seul caractère (\w) dans une limite de mot (\b) tant que le caractère n’est pas un point ni une apostrophe (?<!). La commande rename traduira ensuite cette lettre en majuscules (u$&).

rename -v 's/(?<!)\b\w*/\u$&/g' *

Ci-dessous, vous pouvez voir que chaque mot dans les noms de fichiers commence par une lettre majuscule tout en laissant les extensions de fichiers intactes.

 Mise en Majuscule de la Première Lettre de Chaque Mot dans les Noms de Fichiers
Mise en Majuscule de La Première Lettre de Chaque Mot dans les Noms de Fichiers

Conclusion

Tout au long de ce tutoriel, vous avez appris de nombreuses façons de renommer des fichiers Linux via une interface graphique et un terminal de ligne de commande. Vous avez maintenant une solide compréhension de la manipulation des noms pour des fichiers uniques et multiples à la fois.

Pourquoi ne pas apprendre les scripts shell Linux et créer un script pour automatiser le renommage de fichiers sous Linux ?

Laisser un commentaire

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