Guide de l'utilisateur: utiliser la commande renommer sous Linux

Avez-vous déjà essayé d'utiliser la commande renommer sur Linux ? Voulez-vous vous familiariser avec la centrale de renommée de fichiers du monde Linux et offrir à mv - et à vous-même - un repos. Renommer est rapide, flexible et assez facile. Voici un guide détaillé sur cette centrale d'une commande.





Qu'est-ce qui ne va pas avec mv?

Il n'y a rien de mal avec mv . Cependant, la commande fait du bon travail. En outre, vous pouvez le trouver sur toutes les distributions Linux, sous macOS et dans d'autres systèmes d'exploitation de type Unix. Cependant, il est toujours disponible. Mais certainement, vous ne voulez pas de pelle mais avez besoin d’un bulldozer.



La commande mv a un but dans la vie, et c'est de déplacer des fichiers. C'est un effet secondaire sûr qu'il peut être utilisé pour déplacer un fichier plus ancien dans le nouveau fichier, avec un nouveau nom. L'effet est de renommer le fichier, de sorte que vous obtenez ce que vous voulez. Mais mv n'est pas un outil de changement de nom de fichier personnalisé.

Comment renommer un seul fichier avec mv

renommer des fichiers sous Linux



Si vous souhaitez utiliser mv pour renommer un fichier puis tapez mv, space, le nom du fichier, l'espace et le nouveau nom que vous voulez que le fichier ait. Appuyez ensuite sur Entrée.



Vous pouvez également utiliser ls pour vérifier que le fichier est renommé ou non

mv rename

Comment renommer plusieurs fichiers avec mv

Les choses deviennent complexes après avoir renommé plusieurs fichiers. perl-rename n'a pas la capacité de renommer divers fichiers. Vous devez recourir à des astuces Bash utiles. C’est bien si vous connaissez une interface utilisateur de ligne de commande de niveau moyen, mais la difficulté de renommer différents fichiers avec mv se résume à la facilité d'utilisation mv pour renommer un seul fichier.



Les choses dégénèrent instantanément.



Disons que voici un répertoire contenant de nombreux fichiers, de types différents. Certains fichiers ont un .programme extension. Nous souhaitons renommer ces fichiers en ligne de commande afin qu'ils aient un .prg extension.

Venez jeter un œil aux fichiers.

rename

Voici une méthode pour le faire qui ne peut pas recourir à l'écriture d'un véritable fichier de script Bash.

rename

Cela a-t-il fonctionné ou pas? Vérifions les fichiers, puis continuons.

rename

Donc, cela fonctionne très bien. Ils sont tous .prg fichiers maintenant, et il n'y a pas .programme fichiers dans le répertoire.

Qu'est-il arrivé?

Qu'est-ce que la commande longue a réellement fait? Regardons ça.

prename

La première partie commence une boucle qui va traiter chaque .programme fichier dans le répertoire, à son tour.

Une autre partie dit ce que le traitement va fais . Il utilise mv pour déplacer chaque fichier vers le nouveau fichier. Le nouveau nom de fichier sera assez similaire au nom du fichier d'origine, à l'exception de la partie .prog. De plus, l'extension de .prg sera utilisée.

Voici un moyen simple

Très certainement. Ici se trouve le Renommer commander.

renommer des fichiers sous Linux

Il ne fait pas partie de la distribution Linux standard, vous souhaitez donc l'installer. En outre, il a un nom différent dans diverses familles de Linux, mais ils fonctionnent tous de la même manière. Vous allez simplement remplacer le nom de commande correct en fonction du goût de Linux que vous utilisez.

Dans les distributions dérivées de Debian ou Ubuntu, il vous suffit d'installer perl-rename comme ça:

*.prog

Dans les distributions dérivées de RedHat ou Fedora, vous installez simplement prenom comme ça. Souvenez-vous que le p initial signifie Perl.

rename

Pour l'installer dans Manjaro Linux, utilisez la commande suivante. Gardez à l'esprit que la commande de changement de nom est connue sous le nom de s.

.prog

Utilisez la commande renommer -> Venez, essayons encore

Ici, nous utiliserons rename. Nous faisons cela pour avoir un ensemble de fichiers .prog.

.prg

Venez, utilisons la commande ci-dessous pour les renommer. Nous vérifierons également avec ls commande si cela a fonctionné ou non. Si vous souhaitez remplacer rename avec le nom de commande exact pour Linux si vous ne pouvez pas utiliser Ubuntu ou un Linux dérivé de Debian.

ls ls

Cela fonctionne bien, maintenant ce sont tous des fichiers .prg à l'exclusion de .programme fichiers laissés dans le répertoire.

Que s'est-il passé ici?

Parlons-en en trois parties.

Dans le premier partie, vous verrez le nom de la commande, rename (ou ls ou ls, pour les autres distributions).

Le troisième dernier une partie est ^, ce qui explique $ pour fonctionner sur tous les fichiers .prog.

le deuxième Une partie explique le travail que nous aimons faire sur chaque nom de fichier. Le ^ signifie substitut. Le 1er terme (ls) est ce que ls recherchera dans chaque nom de fichier et le 2ème terme (ls) est ce par quoi il sera remplacé.

comment changer le fov dans fallout 4

La partie médiane des commandes ou expression centrale est une «expression régulière» Perl et c'est ce qui fournit le s/ commander sa fiabilité.

Modification d'autres parties d'un nom de fichier

Nous avons modifié les extensions de nom de fichier jusqu'à présent, modifions d'autres parties des noms de fichier.

Dans le répertoire, il y a de nombreux fichiers de code source C. Tous les noms de fichiers sont préfixés par argot_. Nous pouvons également vérifier cela avec y/.

a-z

Ici, nous remplaçons toutes les occurrences de slang_ par sl_. Le format de la commande nous est assez familier. Nous modifions simplement le terme de recherche, le terme de remplacement et le type de fichier.

A-Z

Ici, nous recherchons des fichiers .c, et recherchons slang_. Chaque fois que vous trouvez slang_ dans un nom de fichier, il est remplacé par sl_.

Vous pouvez également vérifier le résultat de la commande après avoir répété la commande ls d'en haut en utilisant les mêmes paramètres:

a-z

Suppression d'une partie d'un nom de fichier

Nous pouvons également supprimer une partie d'un nom de fichier après avoir remplacé le terme de recherche par rien.

mv oldfile.txt newfile.txt

Nous pouvons également voir depuis le ls ordonner que notre .c les fichiers sont tous précédés de sl_. Laissons cela complètement.

le Renommer La commande suit le même format que celui mentionné ci-dessus. Nous allons rechercher des fichiers .c. Le terme de recherche est sl_, mais il n'y a pas de terme de substitution. Deux barres obliques inverses «//» sans rien entre elles signifient une chaîne vide.

ls *.txt
peut traiter chaque fichier .c à son tour. En outre, il recherche sl_ dans le nom de fichier. Si vous l'avez trouvé, vous ne pouvez être remplacé par rien. Sinon, le terme de recherche est supprimé.

Une autre utilisation du

ls *.prog -l
La commande confirme que le préfixe sl_ a été effacé de chaque fichier .c.

Limiter les modifications à des parties particulières des noms de fichiers

Venez, utilisons

for f in *.prog; do mv -- '$f' '${f%.prog}.prg'
pour afficher les fichiers qui ont la chaîne param dans leur nom de fichier. Ensuite, nous utiliserons Renommer commande pour remplacer la chaîne via le paramètre de chaîne. Aussi, nous utilisons ls une fois de plus pour voir l'effet Renommer commande a eu sur ces fichiers.

ls *.pr*
for f in *.prog; do mv -- '$f' '${f%.prog}.prg'
sudo apt-get install rename

Vous verrez ensuite quatre fichiers ayant arrêter dans leur nom de fichier. param.c, param_one.c et param_two.c ont tous arrêter au début de leur nom. third_param.c a arrêter au dernier de son nom, juste avant l'extension.

Vous pouvez rechercher Renommer commande pour param partout dans le nom de fichier. Vous pouvez ensuite le remplacer par un paramètre dans tous les cas.

Une autre utilisation de ls La commande nous montre ce qui s'est passé exactement. Qu'il s'agisse arrêter était au début ou à la fin du nom de fichier. Vous pouvez également le remplacer par un paramètre.

Nous pouvons utiliser les métacaractères de Perl pour purifier le comportement de l’expression centrale. Les métacaractères sont les signes qui représentent des séquences ou des positions de caractères. Par exemple,

sudo dnf install prename
signifie le début d'une chaîne, (.) signifie n'importe quel caractère unique (en plus d'un caractère de nouvelle ligne),
sudo pacman -Syu perl-rename
signifie la fin d'une chaîne.

De plus, nous utilisons le début du métacaractère de chaîne (

ls *.prog
) pour limiter notre recherche au début des noms de fichiers.

rename 's/.prog/.prg/' *.prog
ls *.pr*
ls sl*.c
rename 's/slang_/sl_' *.c

Les fichiers que nous avons renommés sont répertoriés précédemment. En outre, nous pouvons voir que le paramètre de chaîne est au début de 3 noms de fichiers et il est situé à la fin de l'un des noms de fichiers.

Notre Renommer La commande utilise le début du métacaractère de ligne (^) avant le paramètre de terme de recherche. Il explique qu'il suffit de considérer le terme de recherche comme trouvé s'il se trouve au début du nom de fichier. Le paramètre de chaîne de recherche sera évité s'il se trouve ailleurs dans le nom de fichier.

En regardant avec

ls sl*.c
, nous pouvons alors voir que le nom de fichier ayant un paramètre à la dernier du nom de fichier n'a pas été modifié. Mais les trois noms de fichiers ayant un paramètre à la début de leurs noms ayant la chaîne de recherche remplacée par la valeur du terme de remplacement.

le Renommer le pouvoir réside dans le pouvoir de Perl.

Recherche avec des groupements

Voici le cas où vous avez probablement des fichiers avec les mêmes chaînes dans leurs noms. Ils ne sont pas exactement similaires aux mêmes chaînes, il vous suffit donc de rechercher et la substitution ne peut pas fonctionner ici.

Dans cet exemple, nous utilisons

ls *.c rename 's/sl_//' *.c ls *.c
pour voir les fichiers dont nous disposons qui commencent par str. En outre, il y en a deux, string.c et strangle.c. Nous pouvons également renommer les deux chaînes après avoir utilisé une méthode connue sous le nom de regroupement.

L'expression centrale de la Renommer La commande recherchera des chaînes dans les noms de fichiers ayant la séquence de caractères stri ou alors stra. Ici, ces séquences sont suivies de ng. Alternativement, notre terme de recherche va chercher la chaîne et étrange. Le terme de substitution est claquer.

ls *param*
rename 's/param/parameter' *.c
ls *param*

Après avoir utilisé

ls *param*.c
une autre fois confirme que string.c est devenu un bang.c et strangle.c est maintenant bangle.c.

Utiliser la commande renommer avec les traductions

le Renommer La commande effectue toutes les actions sur les noms de fichiers appelées traductions. Voici un exemple de traduction qui force un ensemble de noms de fichiers en majuscules.

Dans le Renommer commande ci-dessous, notez que nous n'utilisons pas un

rename 's/^parameter/value/' *.c
pour commencer l'expression du milieu, nous utilisons
ls *param*.c
. Il explique que la commande ne peut pas effectuer de substitution; nous effectuons une traduction.

Le terme

ls value*.c
est une expression Perl. Cela signifie que tous les caractères minuscules de la séquence de a à z. Mais, le terme
ls str*.c
représente toutes les lettres majuscules dans la séquence de A à Z.

L'expression du milieu de cette commande peut être paraphrasée comme si l'une des lettres minuscules de a à z se trouvait dans le nom de fichier. Il les remplace en utilisant les caractères correspondants dans l'ordre des majuscules de A à Z.

Si vous souhaitez forcer les noms de fichiers de tous les fichiers .prg en majuscules, utilisez simplement cette commande:

renommer «y / a-z / A-Z /» * .prg

rename 's/(stri|stra)ng/bang/' *.c

La commande

ls ban*.c
montrez-nous que tous les .prg les fichiers d'extension sont maintenant en majuscules. De plus, pour être strictement précis, ils ne sont pas .prg fichiers plus. Eh bien, ce sont des fichiers .PRG. Assurez-vous que Linux est sensible à la casse.

Nous pouvons également inverser cette dernière commande après être revenu à la position du

ls *.PRG
et les termes A-Z dans l'expression du milieu.

renommer «y / A-Z / a-z /» * .PRG

ls * .prg

Vous ne pouvez pas apprendre Perl en cinq minutes

Se familiariser avec Perl, c'est du temps bien dépensé. Mais pour commencer à utiliser les capacités de gain de temps du Renommer commande, vous ne pensez pas du tout avoir beaucoup de connaissances en Perl pour récolter de gros avantages en termes de puissance.

Conclusion:

Voici tout sur «Utiliser la commande renommer sous Linux». Quelle est votre opinion à ce sujet? Si vous souhaitez partager une autre méthode ou des conseils concernant l'article, faites-le nous savoir ci-dessous. Pour d'autres questions et questions, faites-le nous savoir dans la section commentaires ci-dessous!

Lire aussi: