Ê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
- Renommer des fichiers avec le Gestionnaire de fichiers
- Renommer un seul fichier
- Renommer plusieurs fichiers à l’aide de Nautilus File Manager
- Renommer des fichiers à l’aide d’un modèle
- Recherche et remplacement de mots dans les noms de fichiers
- Renommer des fichiers avec la commande mv
- Renommer un seul fichier avec la commande mv
- Renommer plusieurs fichiers avec une boucle For
- Renommer des fichiers sous Linux avec l’utilitaire de renommage
- Renommer plusieurs fichiers
- Modification des extensions de fichier
- En changeant les noms de fichiers en majuscules et Minuscules
- Remplacement et suppression d’espaces dans les noms de fichiers
- Mettre en majuscule la Première Lettre de Chaque mot dans un Nom de fichier
- Conclusion
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.
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.
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.
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).
Notez que les noms de fichiers ont été changés en Texte, suivis de numéros incrémentés.
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.
Maintenant, vous pouvez voir ci-dessous que vous avez remplacé le mot « Texte » par « Fichier » dans chaque nom de 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.
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.
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 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
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. »
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
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.
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.
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.
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.
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 ?