GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment renommer des fichiers sous Linux

Présentation

Linux fournit plusieurs options pour renommer les fichiers, y compris l'utilisation de l'interface graphique et de plusieurs commandes de terminal dédiées. Il est donc relativement facile de renommer des fichiers individuels, mais il peut être difficile de renommer plusieurs fichiers à la fois.

Dans ce didacticiel, nous allons passer en revue différentes commandes que vous pouvez utiliser dans le terminal Linux pour 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 du terminal/ligne de commande
  • Accès à un éditeur de texte, tel que Vim ou Nano

Renommer les fichiers avec la commande mv

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

mv [options] [source] [destination]

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

Renommer un seul fichier avec la commande mv

Utilisation du mv La commande avec sa syntaxe par défaut permet de renommer un seul fichier :

mv [options] [current file name] [new file name]

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

mv example1.txt example2.txt

Puisqu'il n'y a pas de sortie si la commande réussit, nous utilisons le ls commande pour vérifier si le nom a changé :

ls -l

Renommer plusieurs fichiers avec la commande mv

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

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

find . -depth -name "[current file name element]" -exec sh -c 'f="{}"; mv -- "$f" "${f%[current file name element]}[new file name element]"' \;

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

Par exemple, si nous avons example1.txt , exemple2.txt , et exemple3.txt et que vous voulez changer l'extension en .pdf :

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

Une autre méthode consiste à utiliser le mv commande dans le cadre d'un <strong>for</strong> boucle 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

Ajoutez les lignes suivantes au script :

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

Dans le script ci-dessus :

  • La première ligne demande au script de rechercher tous les fichiers dans le répertoire courant se terminant par .txt .
  • La deuxième ligne utilise le mv commande sur chaque fichier trouvé pour remplacer le .txt extension 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 le sh commande pour exécuter le script :

sh rename_files.sh

Renommer le fichier avec la commande rename

Le rename La commande est utilisée pour renommer plusieurs fichiers ou répertoires sous Linux. Il offre plus de fonctionnalités que le mv commande mais peut être plus difficile à utiliser car elle nécessite une connaissance de base des expressions Perl.

Comment installer la commande de renommage

Sur de nombreuses distributions Linux, le rename La commande n'est pas disponible par défaut. S'il manque à votre système le rename commande, 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 renommer

renommer la syntaxe et les options de la commande

Il existe trois types d'expressions régulières Perl :match , substitut et traduire . Le rename La commande 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 [options] 's/[filename element]/[replacement]/' [filename]

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

  • rename :Invoque la commande de renommage.
  • [options]  :Fournit un argument facultatif qui modifie la façon dont la commande s'exécute.
  • s :Indique une expression de substitution.
  • [filename element] :Spécifie la partie du nom de fichier que vous souhaitez remplacer.
  • [replacement] :Spécifie un remplacement pour la partie du nom de fichier actuel.
  • [filename] :Définit le fichier que vous souhaitez renommer.

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

rename [options] 'y/[string 1]/[string 2]/' [filename]

Un exemple de rename commande utilisant une expression de traduction :

rename 'y/abc/xyz/'

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

Le renommer commande utilise les options suivantes :

  • -a  :Remplace toutes les occurrences de l'élément de nom de fichier au lieu de la première uniquement.
  • -f  :Force un é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 simulation sans apporter de modifications permanentes. Mieux combiné avec la sortie détaillée (-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. Modifier l'extension de fichier

Revenons à notre dernier exemple, pour changer l'extension de fichier de .txt vers .pdf , utilisez :

rename -v 's/.txt/.pdf/' *.txt

2. Remplacement d'une partie d'un nom de fichier

Le remplacement d'une partie différente du nom de fichier suit la même syntaxe. Pour renommer exemple1.txt , exemple2.txt , et exemple3.txt vers test1.txt , test2.txt , et text3.txt , utilisez :

rename -v 's/example/test/' *.txt

3. Supprimer une partie d'un nom de fichier

Le rename L'option 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 exemple en ex :

rename -v 's/ample//' *.txt

4. Renommer les fichiers avec des noms similaires

Une autre utilisation pour le rename option est de renommer les fichiers avec des noms similaires. Par exemple, si nous voulons renommer des fichiers avec exemple et exemple en leur nom pour tester :

rename -v 's/(ex|s)ample/test/' *.txt

5. Renommer les fichiers caractère par caractère

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

rename -v 'y/ /\_/' *.txt

6. Convertir les caractères minuscules

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

rename -v 'y/a-z/A-Z/' *.txt

7. Convertir les caractères majuscules

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

rename -v 'y/A-Z/a-z/' *.TXT

Ubuntu
  1. Comment trouver des fichiers sous Linux

  2. Comment renommer des fichiers sous Linux

  3. Comment utiliser la commande Su sous Linux

  4. Comment créer des fichiers d'une certaine taille sous Linux

  5. Comment renommer plusieurs fichiers à la fois sous Linux

Commande tar Linux - Comment compresser des fichiers sous Linux

Comment trier des fichiers sous Linux (GUI et Shell)

Comment afficher deux fichiers côte à côte sous Linux

Comment copier des fichiers sous Linux à l'aide de la commande CP

Comment compter les fichiers dans le répertoire sous Linux

Comment trouver des dossiers sous Linux