GNU/Linux >> Tutoriels Linux >  >> Linux

Comment renommer plusieurs fichiers à la fois sous Linux

Je pense que vous savez déjà comment renommer des fichiers sous Linux avec la commande mv. Vous l'utilisez simplement au format :

mv old_file_name new_file_name

Il n'y a rien de mal avec cette méthode. C'est la méthode standard après tout.

Mais qu'en est-il de la situation où vous devez renommer plusieurs fichiers. L'utilisation de la commande mv une par une prendrait beaucoup de temps et devrait sûrement être évitée.

Vous pouvez utiliser l'option de commande find exec avec la commande mv pour automatiser ce processus. Mais laissez-moi vous dire un moyen encore plus simple de renommer des fichiers en fonction du modèle regex.

Renommer la commande sous Linux

Il existe un utilitaire de ligne de commande appelé renommer qui vous permet de renommer tous les fichiers qui correspondent à un certain modèle sous forme de regex Perl. La commande renommer ne fonctionne que sur le nom du fichier, pas sur le fichier lui-même.

Voici la syntaxe de la commande de renommage :

rename [options] perlexpr [files]

Cette 'commande de renommage' a les options suivantes :

  • -v :mode détaillé.
  • -n :Aucune action. Affichez les fichiers qui seraient renommés, mais ne renommez pas les fichiers.
  • -o :pas d'écrasement. N'écrasez pas les fichiers existants.
  • -f :Forcer. Remplacer les fichiers existants.
  • -s :Ne renomme pas le lien symbolique mais sa cible

Notez que la commande rename n'est pas un utilitaire standard pré-installé sur les distributions Linux comme la commande mv ou cp. Vous devrez peut-être l'installer. Si vous êtes un utilisateur sudo dans Ubuntu ou Debian, vous pouvez utiliser cette commande pour installer rename :

sudo apt install rename

Maintenant, vous devez vous demander comment renommer des fichiers avec la commande rename. Permettez-moi de vous montrer deux scénarios pratiques où cette commande vous fera gagner beaucoup de temps.

Scénario 1 :Remplacer un caractère par un autre dans tous les noms de fichiers sous Linux

Imaginez si vous avez des espaces blancs dans plusieurs noms de fichiers. C'est un cauchemar de gérer les espaces dans les noms de fichiers sous Linux. C'est pourquoi aucun utilisateur expérimenté ne nomme jamais un fichier contenant des espaces.

Naturellement, vous voudriez supprimer les espaces et les remplacer par un trait de soulignement (_). La commande renommer sera très pratique ici. Voyons comment.

Pour remplacer les espaces par des traits de soulignement dans les noms de tous les fichiers du répertoire courant, il vous suffit d'utiliser la commande renommer de cette manière :

rename 's/ /_/g' *

Si vous êtes même vaguement familier avec regex, vous comprendrez que s/ /_/g recherche de l'espace et remplace toutes les occurrences d'espace par _.

La partie intéressante est l'astérisque (*). L'astérisque vous indique de renommer les fichiers correspondants dans le répertoire courant.

Mais que se passe-t-il si vous souhaitez également renommer tous les fichiers correspondants dans les sous-répertoires ? Dans ce cas, vous pouvez utiliser deux astérisques comme ceci :

rename 's/ /_/g' **

Scénario 2 :Modifier les extensions de plusieurs fichiers à la fois sous Linux

Voici un autre scénario pour vous. Vous avez plusieurs fichiers avec des noms comme mon_fichier.xyz et vous souhaitez renommer ces fichiers afin qu'ils deviennent quelque chose comme mon_fichier.abc.

Pour modifier les extensions de plusieurs fichiers à la fois, vous pouvez utiliser la commande renommer de la manière suivante :

rename 's/\.xyz$/.abc/' **

Laissez-moi vous expliquer la commande ci-dessus.

‘s/\.xyz$/.abc/’ :Il s'agit d'une expression régulière qui signifie remplacer le caractère .xyz à la fin de la ligne par .abc. Le \ supplémentaire est utilisé pour échapper au . sinon, cela signifierait de faire correspondre n'importe quel caractère avant xyz.

** signifie regarder dans le répertoire courant et ses sous-répertoires.

Avez-vous aimé la commande de renommage ?

Peu de gens connaissent la commande de renommage. Cela peut également être dû au fait que rename n'est pas une commande de facto sur de nombreux systèmes Linux.

Cependant, je trouve cette commande assez pratique pour renommer plusieurs fichiers simultanément.

Et toi? Avez-vous déjà utilisé la commande de renommage ? Comment préférez-vous renommer plusieurs fichiers à la fois ?


Linux
  1. Comment renommer des fichiers sous Linux

  2. Comment compresser plusieurs fichiers sous Linux

  3. Comment renommer plusieurs fichiers en une seule commande ou un script sous Unix ? ?

  4. Comment renommer plusieurs fichiers à l'aide de Find ?

  5. Comment renommer plusieurs fichiers en une seule commande ou un seul script sous Unix ?

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

Comment renommer un ou plusieurs fichiers sous Linux

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

Comment compter les fichiers dans le répertoire sous Linux

Comment exécuter plusieurs commandes Linux à la fois dans le terminal Linux

Linux renommer l'extension de plusieurs fichiers