Renommer les fichiers Linux avec renommée

Renommer les fichiers Linux avec renommée

Lorsque vous travaillez avec des fichiers, les renommer est l'une des actions les plus fondamentales. Dans Linux, renommer un fichier ou un répertoire se fait principalement en utilisant MV. Cependant, lorsqu'il s'agit de renommer plusieurs fichiers ou dossiers, l'utilisation de MV devient complexe. Il faut construire des boucles complexes et une tuyauterie pour faire le travail. La commande Rename est spécialement conçue pour de telles situations.

Renommer est un puissant outil de changement de nom qui utilise l'expression de Perl pour renommer plusieurs fichiers et répertoires dans une seule commande. Dans ce guide, consultez comment renommer les fichiers avec renommée.

Installation de renommée

La commande Rename n'est pas préinstallée. Heureusement, nous pouvons l'installer à partir des serveurs officiels de n'importe quelle distribution Linux.

Il existe deux versions de l'outil, chacune avec sa propre syntaxe et fonctionnalité. Pour ce guide, nous nous concentrerons sur celui qui utilise Perl.

Dans le cas de Debian / Ubuntu, Rename est disponible en tant que package «Renommer». Installer le package.

$ sudo apt mise à jour
$ sudo apt install renommer

Dans le cas de Centos et Fedora, le nom du package est différent. C'est connu sous le nom de «Prename». Installer le package.

$ sudo yum install prename

Dans le cas d'Arch Linux, le nom du package est «Perl-Rename». Installer le package.

$ sudo pacman -s perl-rename

Utilisation de renommée

Jetons un coup d'œil à diverses façons d'utiliser la commande Rename.

Structure de commande de base

L'outil suit la structure de commande suivante:

$ renommer

La commande Rename est en fait un script perl. Il fonctionne en utilisant l'expression perl. Comme vous pouvez le deviner, l'utiliser au maximum nécessite une expertise dans les expressions régulières de Perl.

Bien qu'il existe de nombreuses façons de construire l'expression de Perl, l'expression suivante est assez courante à rencontrer lorsque vous travaillez avec la commande Rename.

$ s // // /

Utilisation de base

Ici, j'ai un tas de fichiers factice prêts à être renommés.

La commande Renamement suivante renommera toutes les extensions de fichier de TXT au texte.

$ renommer 's /.SMS/.texte/' *.SMS

Ici, les fichiers cibles à renommer sont exprimés en utilisant le symbole de joker (*).

Mode verbeux

Par défaut, Renommer n'imprime pas beaucoup de sortie. Cependant, avoir des détails plus approfondis sur ses actions peut aider dans divers scénarios, surtout quand il s'agit de déboguer. En mode verbeux, renommer imprime plus d'informations sur la tâche en cours pour mieux comprendre et identifier les problèmes possibles.

Pour exécuter Renomment en mode verbeux, ajoutez l'indicateur «-v».

$ renommer -v 's /.SMS/.texte/' *.SMS

Course à sec

Lors de la renommée en cours d'exécution, les modifications sont rendues permanentes. Dans de nombreuses situations, cela entraînera des problèmes inutiles. Pour éviter les modifications indésirables des noms de fichiers et de dossiers, nous pouvons tester la commande à l'aide d'une exécution sèche.

Une course à sec est essentiellement un essai qui ne change rien avec les fichiers et dossiers réels. Cependant, l'utilisation du mode Verbose imprimera la sortie comme si la commande était réellement effectuée. C'est pourquoi c'est toujours une bonne idée de sécher à sécher avec le mode verbeux. Il est recommandé d'effectuer une exécution à sec avant d'exécuter n'importe quelle commande Rename sur les fichiers et dossiers importants.

Pour effectuer une course à sec, ajoutez le drapeau "-n".

$ renomment -v -n 's /.SMS/.texte/' *.SMS

Écraser les fichiers existants

Le comportement par défaut de renommée ne consiste pas à écraser les fichiers déjà existants. Si vous ne craignez pas d'écraser les existants, vous pouvez forcer la renommée à écraser en utilisant le drapeau «-f».

$ renomment -v -f 's /.SMS/.texte/' *.SMS

Exemple d'expressions de renommée Perl

La structure de base de la commande Rename est très simple. Sa principale puissance est l'incorporation des expressions régulières de Perl. L'expression régulière est une façon intelligente de décrire un modèle et de spécifier les actions. Pour les débutants, voici un guide sur l'expression régulière en utilisant Grep et Egrep. Bien que l'utilisation de différents outils, les principes fondamentaux de l'expression régulière s'appliquent toujours.

Voici une liste restreinte de quelques expressions de renommée courantes Perl. Notez que ce ne sont que pour référence. Avant de les mettre en service, effectuez toujours une course à sec pour vous assurer qu'elle fonctionne comme prévu.

Remplacement des espaces

L'expression suivante remplacera les espaces des noms de fichiers par un soulignement.

$ 'y / / _ /'

Conversion des noms de fichiers en majuscules

Besoin des noms de fichiers en majuscules? L'expression perl suivante combinée à la commande Rename fera exactement cela.

$ 'y / a-z / a-z /'

Conversion des noms de fichiers en minuscules

L'expression perl suivante, lorsqu'elle est utilisée avec renommée, renommera les noms de fichiers de majuscules en minuscules.

$ 'y / a-z / a-z /'

Suppression des pièces des noms de fichiers

Si les noms de fichiers contiennent un contenu inutile, nous pouvons toujours les supprimer en utilisant l'expression de Perl. Par exemple, pour renommer les fichiers de sauvegarde (.BAK) Aux fichiers d'origine, nous pouvons simplement supprimer le «.BAK "Porte du nom du fichier.

$ 's / \ bak $ //'

Renommer plusieurs modèles de correspondance

Disons que vous êtes avec des fichiers texte et txt. Malgré des extensions de fichiers différentes, les deux sont dans le même format. Au lieu de traiter à la fois avec du texte et du TXT, nous pouvons les renommer tous dans des fichiers txt.

$ 'S / \.te?xt $ /.txt / i '

De même, au lieu de traiter avec JPEG et JPG, nous pouvons les renommer tous à JPG.

$ 'S / \.JPE?g $ /.jpg / i '

Notez que dans les deux cas, les extensions de fichiers ont des similitudes à l'exception d'un caractère. C'est pourquoi nous pourrions utiliser ce raccourci. Si les extensions de fichier sont complètement différentes, alors cela ne fonctionnera pas.

Conclusion

La commande Rename est un outil simple pour maîtriser. C'est vraiment puissant lorsque vous travaillez avec des tonnes de fichiers et les renommer dans divers formats. Il est également sûr d'intégrer dans des scripts bash pour l'automatisation. Si vous êtes un débutant, voici un merveilleux guide de départ sur les scripts bash.

Happy Computing!