Maison > Tutoriel système > Linux > le corps du texte

Utilisez un exemple pour expliquer l'utilisation d'expressions régulières dans la commande rename

王林
Libérer: 2024-04-07 08:04:01
avant
798 Les gens l'ont consulté

Utilisez un exemple pour expliquer lutilisation dexpressions régulières dans la commande rename

commande renommerModifiez par lots les noms de fichiers en utilisant le remplacement de chaîne. Aujourd'hui, je vais utiliser un exemple pour écrire en détail les problèmes que j'ai rencontrés et comment je les ai résolus. J'espère que tout le monde devra aider.

Le format est le suivant :

renommer le fichier de chaîne cible de chaîne d'origine (liste)
  1. Chaîne d'origine : la chaîne qui doit être remplacée par le nom du fichier ;
  2. Chaîne cible : remplacez les caractères d'origine contenus dans le nom du fichier par la chaîne cible ;
  3. Fichier : Spécifiez la liste de fichiers pour modifier le nom du fichier.
Exemple :
Renommer main1.c en main.c
rename  main1.c  main.c  main1.c
Copier après la connexion
rename prend en charge les caractères génériques
?  可替代单个字符
*  可替代多个字符
[charset]  可替代charset集中的任意单个字符
Copier après la connexion
Exemple :

Il y a ces fichiers foo1, ..., foo9, foo10, ..., foo278 dans le dossier

rename foo foo0 foo?
Copier après la connexion

Cette commande renommera les fichiers de foo1 en foo9 en foo01 en foo09. Les fichiers renommés sont uniquement des fichiers avec un nom à 4 caractères, et foo dans le nom de fichier est remplacé par foo0.

rename prend en charge les expressions régulières Utilisons maintenant un exemple spécifique pour expliquer l'utilisation des expressions régulières dans cette commande :

Les données (images) que j'ai en main cet après-midi sont nommées (1).jpg, (2).jpg...à (16720).jpg.

Maintenant, je veux changer le nom du fichier en 00001.png, 00002.png, .....16720.png

Première étape : remplacez le nom du suffixe .jpg par .png

rename 's/\.jpg$/\.png/' *.jpg
Copier après la connexion

Étape 2 : Retirez le support gauche "(":

rename 's/^\(//' *.png
Copier après la connexion

La troisième étape consiste à retirer le support droit ")":

rename 's/\)//' *.png
Copier après la connexion

Étape 4 : Remplacez le nom du fichier par un numéro à cinq chiffres et ajoutez 0 devant le numéro à cinq chiffres. Le script de création a.sh est terminé. Le contenu du script est le suivant :

#!/bin/bash
for i in {1..9}
do 
   mv $i.png  0000$i.png
done
for i in {10..99}
do 
   mv $i.png  000$i.png
done
for i in {100..999}
do 
   mv $i.png  00$i.png
done
for i in {1000..9999}
do 
   mv $i.png  0$i.png
done
Copier après la connexion

Ensuite, placez le fichier de script et le dossier dans lequel le nom du fichier doit être modifié, et nous pouvons directement exécuter le script.

Si vous voyez « Autorisations insuffisantes » à ce moment-là, ajoutez simplement des autorisations d'exécution.

chmod  755 a.sh
Copier après la connexion

À ce stade, nous avons terminé la tâche. Si vous ne comprenez pas quelque chose, laissez-moi un message. En cas de réimpression, veuillez indiquer la source : http://www.cnblogs.com/wongyi/

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:linuxprobe.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!