GNU/Linux >> Tutoriels Linux >  >> Linux

8 méthodes pour renommer plusieurs fichiers à la fois sous Linux

Dans ce didacticiel, nous allons apprendre à renommer plusieurs fichiers à la fois sous Linux à l'aide de divers outils. Tous les exemples fournis ici sont testés dans Ubuntu, mais ils devraient fonctionner sur tous les systèmes d'exploitation Linux.

Présentation

Comme vous le savez peut-être déjà, nous utilisons mv commande pour renommer ou déplacer des fichiers et des répertoires dans les systèmes d'exploitation de type Linux et Unix.

Mais, le mv La commande ne prend pas en charge le renommage par lots des fichiers à la fois. Il ne peut renommer qu'un seul fichier à la fois. Que feriez-vous si vous vouliez renommer plusieurs fichiers à la fois ? Ne t'inquiètes pas!

Il existe quelques autres utilitaires disponibles pour renommer des fichiers par lots sous Linux.

Renommer plusieurs fichiers à la fois sous Linux

Il peut y avoir de nombreuses commandes et utilitaires pour renommer en masse un groupe de fichiers. Au moment d'écrire ces lignes, je connais 8 façons différentes de renommer des fichiers par lots. Je continuerai à mettre à jour la liste si je tombe sur une nouvelle méthode à l'avenir.

Méthode 1 - Renommer des fichiers par lots à l'aide de mmv

Le mmv L'utilitaire est utilisé pour déplacer, copier, ajouter et renommer des fichiers en masse à l'aide de caractères génériques standard dans les systèmes d'exploitation Linux et Unix. Il est disponible dans les dépôts par défaut des systèmes basés sur Debian.

Pour installer mmv sur Debian, Ubuntu, Linux Mint et Pop OS, exécutez la commande suivante :

$ sudo apt-get install mmv

Disons que vous avez les fichiers suivants dans votre répertoire actuel.

$ ls
a1.txt a2.txt a3.txt

Maintenant, vous voulez renommer tous les fichiers commençant par la lettre "a" à "b" . Bien sûr, vous pouvez le faire manuellement en quelques secondes.

Mais pensez-vous que si vous avez des centaines de fichiers et que vous souhaitez les renommer ? C'est un processus assez long. Voici où mmv la commande vient en aide.

Pour renommer tous les fichiers commençant par la lettre "a" à "b" , lancez simplement :

$ mmv a\* b\#1

Vérifions si les fichiers ont été renommés ou non.

$ ls
b1.txt b2.txt b3.txt

Comme vous pouvez le voir, tous les fichiers commencent par la lettre "a" (c'est-à-dire a1.txt , a2.txt , a3.txt ) sont renommés en b1.txt , b2.txt , b3.txt .

Explication

Dans l'exemple ci-dessus, le premier paramètre (a* ) est le 'from' pattern et le second paramètre est 'to' motif (b#1 ).

Comme dans l'exemple ci-dessus, mmv recherchera tous les noms de fichiers commençant par la lettre 'a' et renommez les fichiers correspondants en fonction du deuxième paramètre, c'est-à-dire 'to' modèle.

Nous utilisons des caractères génériques, tels que ‘*’ , ‘?’ et ‘[]‘ , pour correspondre à un ou plusieurs caractères arbitraires. N'oubliez pas que vous devez échapper les caractères génériques, sinon ils seront développés par le shell et mmv ne les comprendra pas.

Le ‘#1′ dans le ‘to’ pattern est un index générique. Il correspond au premier caractère générique trouvé dans le ‘from’ modèle. Un ‘#2′ dans le ‘to’ pattern correspondrait au deuxième caractère générique et ainsi de suite.

Dans notre exemple, nous n'avons qu'un seul caractère générique (l'astérisque), nous écrivons donc un #1 . Et le signe dièse doit également être échappé. En outre, vous pouvez également entourer les modèles de guillemets.

Vous pouvez même renommer tous les fichiers avec une certaine extension en une extension différente. Par exemple, pour renommer tous les .txt fichiers vers .doc format de fichier dans le répertoire courant, lancez simplement :

$ mmv \*.txt \#1.doc

Voici un autre exemple. Disons que vous avez les fichiers suivants.

$ ls
abcd1.txt abcd2.txt abcd3.txt

Vous souhaitez remplacer la première occurrence de abc avec xyz dans tous les fichiers du répertoire courant. Comment feriez-vous ?

Simple.

$ mmv '*abc*' '#1xyz#2'

Veuillez noter que dans l'exemple ci-dessus, j'ai placé les modèles entre guillemets simples.

Vérifions si "abc" est réellement remplacé par "xyz" ou non.

$ ls
xyzd1.txt xyzd2.txt xyzd3.txt

Voir? Les fichiers abcd1.txt , abcd2.txt , et abcd3.txt ont été renommés en xyzd1.txt , xyzd2.txt , et xyzd3.txt .

Une autre caractéristique notable de la commande mmv est que vous pouvez simplement imprimer la sortie au lieu de renommer les fichiers en utilisant -n comme ci-dessous.

$ mmv -n a\* b\#1 
a1.txt -> b1.txt
a2.txt -> b2.txt
a3.txt -> b3.txt

De cette façon, vous pouvez simplement vérifier ce que la commande mmv ferait réellement avant de renommer les fichiers.

Pour plus de détails, consultez les pages de manuel.

$ man mmv

Méthode 2 - Renommer des fichiers en masse à l'aide de l'utilitaire de renommage

Le renommer l'utilitaire renommera les fichiers donnés en remplaçant la première occurrence de l'expression dans leur nom par replacement.

La commande rename est préinstallée dans la plupart des systèmes d'exploitation de type Unix. S'il n'est pas disponible par défaut, exécutez la commande suivante pour l'installer sur les systèmes basés sur Debian :

$ sudo apt install rename

Par exemple, j'ai les fichiers suivants dans le répertoire courant.

$ ls
abcd1.txt abcd2.txt abcd3.txt

Remplaçons la première occurrence de abc avec xyz partout où trouvé. Pour ce faire, exécutez :

$ rename 's/abc/xyz/' *

Maintenant, vérifiez si les modifications ont été apportées avec ls commande.

$ ls
xyzd1.txt xyzd2.txt xyzd3.txt

Parfois, vous pouvez simplement imprimer la sortie au lieu de renommer les fichiers. Si oui, utilisez -n drapeau pour afficher les changements de nom qui se produiraient sans les effectuer :

$ rename -n 's/abc/xyz/' *
rename(abcd1.txt, xyzd1.txt)
rename(abcd2.txt, xyzd2.txt)
rename(abcd3.txt, xyzd3.txt)

Comme vous pouvez le voir, la commande ci-dessus n'a apporté aucune modification, mais affiche simplement les changements de nom qui se produiront.

Vous pouvez forcer le renommage de la tâche même si l'opération écraserait les fichiers existants en utilisant -f drapeau comme ci-dessous.

$ rename -f 's/abc/xyz/' *

Si vous ne voulez pas écraser les fichiers, vous pouvez simplement les convertir en lettres majuscules ou minuscules (et vice versa) pour éviter les erreurs "existe déjà".

Pour convertir tous les noms de fichiers en minuscules, procédez comme suit :

$ rename 'y/a-z/A-Z/' *

Vérifions si les modifications ont été apportées.

$ ls
ABCD1.TXT ABCD2.TXT ABCD3.TXT

Oui, les lettres dans les noms de fichiers ont été changées de minuscules en majuscules.

De même, pour convertir les noms de fichiers en minuscules, exécutez :

$ rename 'y/A-Z/a-z/' *

Nous pouvons également supprimer toutes les lignes vides dans un nom de fichier. Par exemple, j'ai le fichier suivant.

$ ls
Clouds of Sunset.mp3

Pour supprimer tous les espaces vides dans le nom de fichier ci-dessus, exécutez :

$ rename "s/ *//g" *

Maintenant, le nom de fichier n'a plus d'espaces vides.

$ ls
CloudsofSunset.mp3

Remplacez les espaces vides par des traits de soulignement :

$ rename 's/\s+/_/g' *

Vous voudrez peut-être modifier l'extension de fichier, mais ne pas renommer les noms de fichiers. C'est également possible. La commande suivante renommerait tous les *.txt fichiers vers *.doc .

$ rename 's/\.txt$/.doc/' *.txt

Vérifiez les modifications à l'aide de ls commande :

$ ls
abcd1.doc abcd2.doc abcd3.doc

Pour supprimer l'extension dans tous les fichiers correspondant à .txt , exécutez :

$ rename 's/\.txt$//' *.txt

Pour plus de détails, consultez les pages de manuel.

$ man rename

Méthode 3 - Renommer les fichiers à l'aide de renameutils

Les renameutils est un ensemble de programmes conçus pour renommer par lots des fichiers et des répertoires plus rapidement et plus facilement.

Renameutils se compose des cinq programmes suivants :

  1. qmv (déplacement rapide),
  2. qcp (copie rapide),
  3. imv (déplacement interactif),
  4. icp (copie interactive),
  5. deurlname (supprimer l'URL).

Installer renameutils sous Linux

Renameutils est disponible dans les référentiels par défaut de la plupart des distributions Linux. Pour l'installer sur des systèmes basés sur Arch, activez le référentiel communautaire et exécutez :

$ sudo pacman -Syu renameutils

Sur les systèmes basés sur Debian :

$ sudo apt install renameutils

Voyons maintenant quelques exemples.

1. qmv

Le programme qmv ouvrira les noms de fichiers dans un répertoire de votre éditeur de texte par défaut et vous permettra de les modifier.

J'ai les trois fichiers suivants dans un répertoire nommé 'ostechnix'.

$ ls ostechnix/
abcd1.txt abcd2.txt abcd3.txt

Pour renommer les noms de fichiers dans le répertoire 'ostechnix', faites simplement :

$ qmv ostechnix/

Maintenant, changez les noms de fichiers comme vous le souhaitez. Vous verrez l'aperçu en direct lorsque vous modifierez les noms de fichiers.

Alternativement, vous pouvez cd dans le répertoire et simplement exécuter 'qmv' .

Une fois que vous avez ouvert les fichiers, vous verrez les deux colonnes comme indiqué dans la capture d'écran suivante.

Le côté de la colonne de gauche affiche les noms de fichiers source et la colonne de droite affiche les noms de destination (les noms de fichiers de sortie que vous obtiendrez après l'édition).

Maintenant, renommez tous les noms de sortie sur le côté droit comme vous le souhaitez.

Après avoir renommé les noms de fichiers, enregistrez et quittez le fichier.

Enfin, vous verrez la sortie suivante :

Plan is valid.

abcd1.txt -> xyzd1.txt
abcd2.txt -> xyzd2.txt
abcd3.txt -> xyzd3.txt
   Regular rename

abcd1.txt -> xyzd1.txt
abcd2.txt -> xyzd2.txt
abcd3.txt -> xyzd3.txt

Maintenant, vérifiez si les modifications ont bien été apportées en utilisant 'ls' commande :

$ ls ostechnix/
xyzd1.txt xyzd2.txt xyzd3.txt

Voir? Tous les fichiers sont renommés. Pas seulement les fichiers, les renameutils renommeront également les noms de répertoires.

Voici une vidéo de démonstration rapide du programme qmv :

Si vous ne souhaitez pas modifier les noms de fichiers au format à deux colonnes, utilisez la commande suivante pour afficher uniquement la colonne du fichier de destination.

$ qmv -f do ostechnix/

Où, '-f' fait référence au format et 'do' fait référence à destination-only .

Maintenant, vous ne verrez que la colonne de destination. C'est dans cette colonne que nous apportons les modifications.

Une fois terminé, enregistrez et fermez le fichier.

Pour plus de détails, consultez les pages de manuel.

$ man qmv

2. qcp

Le programme qcp fonctionne comme qmv, mais copie les fichiers au lieu de les renommer. Dans ce cas, vous obtiendrez deux instances du même fichier. Cela signifie qu'il conservera à la fois les fichiers originaux et les fichiers en double.

$ qcp ostechnix/

Renommez les noms de fichiers répertoriés sur le côté droit. Enregistrez et quittez le fichier. Enfin, vérifiez les modifications apportées à l'aide de la commande ls :

$ ls ostechnix/
abcd1.txt abcd2.txt abcd3.txt xyzd1.txt xyzd2.txt xyzd3.txt

Pour plus de détails, consultez les pages de manuel.

$ man qcp

3. imv

Le programme imv nous permet de renommer interactivement les noms de fichiers. De toute évidence, ce n'est pas pour renommer en masse. Vous ne pouvez renommer les fichiers qu'un par un.

$ imv ostechnix/abcd1.txt

Modifiez le nom du fichier comme vous le souhaitez et appuyez sur ENTER pour le renommer.

Pour plus de détails, consultez les pages de manuel.

$ man imv

4. icp

Le programme icp est identique à imv , mais il copie les fichiers au lieu de les déplacer.

Exemple :

$ icp ostechnix/abcd1.txt

Pour plus de cas d'utilisation et de commandes, veuillez consulter les pages de manuel.

$ man icp

Je ne sais pas pourquoi les développeurs ont ajouté ces deux utilitaires alors que nous pouvons faire la même chose en utilisant mv et cp commande.

5. deurlname

Le deurlname le programme supprime les caractères encodés d'URL (tels que %20 représentant l'espace) à partir des noms de fichiers. Certains programmes, par exemple w3m , ont tendance à conserver ces caractères encodés dans les fichiers enregistrés.

Vous pouvez utiliser cet outil pour nettoyer les noms de fichiers que vous avez téléchargés sur Internet.

Jetez un oeil au fichier suivant.

$ ls
omg%20ponnu%20ily%20kannu.mp3

Il y a des caractères spéciaux et des nombres dans le nom de fichier. Si vous le nettoyez, exécutez simplement :

$ deurlname omg%20ponnu%20ily%20kannu.mp3

Maintenant, regardez comment le nom du fichier est modifié.

$ ls
omg ponnu ily kannu.mp3

Le nom de fichier est propre et lisible.

Reportez-vous aux pages de manuel pour plus de détails.

$ man deurlname

Reportez-vous également au site Web du projet indiqué à la fin de ce guide.

Méthode 4 - Renommer plusieurs fichiers à la fois à l'aide de vimv

Comme son nom l'indique, Vimv est un utilitaire de ligne de commande pour renommer des fichiers en masse à l'aide de Vim éditeur. Vous pouvez bien sûr changer d'éditeur en changeant la valeur de $EDITOR variable d'environnement.

Pour installer Vimv, git clonez le dépôt :

$ git clone https://github.com/thameera/vimv.git

Copiez le binaire vimv dans votre $PATH , par exemple /usr/local/bin/ .

$ sudo cp vimv/vimv /usr/local/bin/

Enfin, rendez-le exécutable :

$ sudo chmod +x /usr/local/bin/vimv

Allez maintenant dans le répertoire et exécutez la commande suivante pour modifier les noms de fichiers.

$ vimv

Vous verrez les noms de fichiers dans l'éditeur Vi. Appuyez sur i pour passer en mode interactif et modifier les noms de fichiers comme vous modifiez le texte dans l'éditeur Vi. Une fois terminé, appuyez sur ESC clé et tapez :wq pour enregistrer et quitter.

Les fichiers à l'intérieur du répertoire doivent être renommés maintenant. Voici une courte démo vidéo.

Pour plus de détails, reportez-vous au référentiel GitHub du projet indiqué à la fin de ce guide.

Méthode 5 - Renommer des fichiers par lots à l'aide d'Emacs

Si vous avez un système avec l'éditeur Emacs installé, vous pouvez facilement renommer par lots en suivant ces étapes.

1. Ouvrez votre éditeur Emacs.

2. Appuyez sur Alt+x et tapez ce qui suit et appuyez sur ENTER pour passer en wdired-mode (abréviation de "mode d'éditeur de répertoire inscriptible").

$ dired

3. Entrez le chemin d'accès au répertoire (par exemple /home/sk/ostechnix ) qui contient les fichiers à renommer et appuyez sur ENTER clé.

4. Ensuite, appuyez sur Ctrl+x et Ctrl+q pour passer en mode lecture-écriture.

5. Maintenant, renommez les fichiers. Une fois terminé, appuyez sur Ctrl+c et Ctrl+c (deux fois) pour enregistrer les modifications. Pour annuler les modifications, appuyez sur Ctrl+c et Ctrl+k .

Regardez la vidéo de démonstration :

Voir? Il est très simple de renommer plusieurs fichiers à la fois.

Méthode 6 - Renommer des fichiers en masse avec le gestionnaire de fichiers Thunar

Le gestionnaire de fichiers Thunar a un renommage en masse intégré par défaut.

Thunar est disponible dans les dépôts par défaut de la plupart des distributions Linux.

Pour l'installer sur des systèmes basés sur Arch, exécutez :

$ sudo pacman -S thunar

Sur Fedora, RHEL, CentOS, AlmaLinux, Rocky Linux :

$ sudo dnf install thunar

Ou,

$ sudo yum install thunar

Sur openSUSE :

$ sudo zypper install thunar

Sur Debian, Ubuntu, Linux Mint :

$ sudo apt-get install thunar

Une fois installé, vous pouvez lancer l'utilitaire de renommage en masse à partir du menu ou du lanceur d'applications. Pour le lancer depuis Terminal, utilisez la commande suivante :

$ thunar -B

Voici à quoi ressemble le renommage en masse.

Cliquez sur le signe plus et choisissez la liste des fichiers que vous souhaitez renommer. Renommer en bloc peut renommer le nom des fichiers, le suffixe des fichiers ou à la fois le nom et le suffixe des fichiers.

Thunar prend actuellement en charge les Bulk Renamers suivants :

  • Insérer la date ou l'heure
  • Insérer ou écraser
  • Numérotation
  • Supprimer des caractères
  • Rechercher et remplacer
  • Majuscules / Minuscules

Lorsque vous sélectionnez l'un de ces critères dans la liste de sélection, vous verrez un aperçu de vos modifications dans le Nouveau nom colonne, comme indiqué dans la capture d'écran ci-dessous.

Une fois que vous avez choisi les critères, cliquez sur Renommer les fichiers possibilité de renommer les fichiers.

Vous pouvez également ouvrir le renommage en bloc depuis Thunar en sélectionnant deux fichiers ou plus. Après avoir choisi les fichiers, appuyez sur F2 ou faites un clic droit et choisissez Rename .

Suggestion de lecture :

  • [Bash Tips] Renommer les fichiers sans taper deux fois le nom complet sous Linux

Méthode 7 - Renommer la liste des fichiers avec KRename

KRename est un renommeur de fichiers batch qui peut renommer une liste de fichiers en fonction d'un ensemble d'expressions. Il vous permet de renommer un grand nombre de fichiers en ajoutant simplement une séquence de chiffres ou en changeant la casse.

KRename est spécialement conçu et installé par défaut dans les distributions KDE. Vous pouvez également l'installer sur d'autres distributions Linux.

Par exemple, pour installer KRename sur Fedora, exécutez simplement :

$ sudo dnf install krename

Lancez l'application KRename depuis le lanceur d'applications ou le menu et ajoutez tous les fichiers à renommer dans les Fichiers rubrique.

Dans la Destination section, assurez-vous d'avoir sélectionné l'option "Renommer les fichiers d'entrée".

Dans les plugins, vous pouvez choisir n'importe quel plugin de votre choix, qui fournit diverses balises lors du renommage des fichiers.

Dans la dernière section, vous pouvez choisir le schéma de renommage à utiliser. Vous verrez un aperçu en bas en fonction du schéma que vous avez choisi. Une fois que vous êtes d'accord avec les options sélectionnées, cliquez sur le bouton Terminer pour renommer les fichiers.

Les fichiers renommés seront enregistrés au même emplacement.

KRename est un utilitaire de renommage riche en fonctionnalités. Il a tellement d'options pour renommer les fichiers. La plupart des options sont explicites.

Méthode 8 - Renommer plusieurs fichiers et dossiers à l'aide de Smart file renamer

Smart File Renamer est un programme graphique pour renommer plusieurs fichiers à la fois. À l'aide de Smart File Rename, vous pouvez facilement et rapidement renommer des fichiers et des répertoires en une seule fois en quelques clics de souris. C'est une application multiplateforme qui prend en charge Linux, macOS et Windows. Contrairement aux autres programmes, c'est la propriété. La version gratuite n'a que des fonctionnalités limitées.

Smart File Renamer est disponible sous forme de package instantané. Vous pouvez l'installer à l'aide de la commande suivante :

$ sudo snap install smart-file-renamer

Une fois installé, lancez-le à partir du menu ou du lanceur d'applications. Ajoutez les fichiers et répertoires que vous souhaitez renommer et cliquez sur le bouton Renommer en bas.

Il prend en charge de nombreuses règles et filtres pour le renommage par lots. Choisissez-les simplement sur le côté droit de la fenêtre de l'application et appuyez sur le bouton Renommer.

Conclusion

Voilà! Dans ce guide, nous avons discuté de 8 méthodes pour renommer en masse des fichiers sous Linux. Nous avons fourni à la fois des programmes en ligne de commande et des programmes graphiques pour renommer plusieurs fichiers en une seule fois. Choisissez celui qui vous convient et faites le travail.

Et, c'est tout pour le moment. J'espère que cela a été utile. Connaissez-vous une autre méthode à ajouter dans cette liste ? Veuillez les mentionner dans la section des commentaires ci-dessous. Je vérifierai et mettrai à jour ce guide en conséquence.


Linux
  1. Renommer un fichier dans le terminal Linux

  2. Comment renommer des fichiers sous Linux

  3. Comment renommer plusieurs fichiers ensemble sous Linux en utilisant 3 méthodes

  4. Suppression d'une partie d'un nom de fichier pour plusieurs fichiers sous Linux

  5. Linux Bash :Déplacez plusieurs fichiers différents dans le même répertoire

Comment renommer des fichiers et des répertoires sous Linux

Renommer la commande sous Linux (renommer plusieurs fichiers)

Comment renommer des fichiers en utilisant la ligne de commande sous Linux

Comment renommer un ou plusieurs fichiers sous Linux

Linux renommer l'extension de plusieurs fichiers

Comparer deux fichiers dans un terminal Linux