Heim > System-Tutorial > LINUX > Erläutern Sie anhand eines Beispiels die Verwendung regulärer Ausdrücke im Umbenennungsbefehl

Erläutern Sie anhand eines Beispiels die Verwendung regulärer Ausdrücke im Umbenennungsbefehl

王林
Freigeben: 2024-04-07 08:04:01
nach vorne
880 Leute haben es durchsucht

Erläutern Sie anhand eines Beispiels die Verwendung regulärer Ausdrücke im Umbenennungsbefehl

Befehl zum UmbenennenÄndern Sie Dateinamen im Stapel mithilfe von String-Ersetzung. Heute werde ich anhand eines Beispiels detailliert aufschreiben, auf welche Probleme ich gestoßen bin und wie ich sie gelöst habe. Ich hoffe, dass jeder mithelfen muss.

Das Format ist wie folgt:

Original-String-Ziel-String-Datei (Liste) umbenennen
  1. Originalzeichenfolge: die Zeichenfolge, die durch den Dateinamen ersetzt werden muss;
  2. Zielzeichenfolge: Ersetzen Sie die im Dateinamen enthaltenen Originalzeichen durch die Zielzeichenfolge
  3. Datei: Geben Sie die Dateiliste an, um den Dateinamen zu ändern.
Beispiel:
Benennen Sie main1.c in main.c um
rename  main1.c  main.c  main1.c
Nach dem Login kopieren
Umbenennen unterstützt Platzhalter
?  可替代单个字符
*  可替代多个字符
[charset]  可替代charset集中的任意单个字符
Nach dem Login kopieren
Beispiel:

Im Ordner befinden sich diese Dateien foo1, ..., foo9, foo10, ..., foo278

rename foo foo0 foo?
Nach dem Login kopieren
Dieser Befehl benennt die Dateien von foo1 zu foo9 zu foo01 zu foo09 um. Bei den umbenannten Dateien handelt es sich nur um Dateien mit einem 4-stelligen Namen, und foo im Dateinamen wird durch foo0 ersetzt.

rename unterstützt reguläre Ausdrücke
Lassen Sie uns nun anhand eines konkreten Beispiels die Verwendung regulärer Ausdrücke in diesem Befehl erläutern:

Die Daten (Bilder) in meiner Hand heute Nachmittag heißen (1).jpg, (2).jpg...bis (16720).jpg.

Jetzt möchte ich den Dateinamen in 00001.png, 00002.png, .....16720.png ändern

Schritt eins: Ändern Sie den Suffixnamen .jpg in .png

rename 's/\.jpg$/\.png/' *.jpg
Nach dem Login kopieren
Schritt 2: Entfernen Sie die linke Klammer „(“:

rename 's/^\(//' *.png
Nach dem Login kopieren
Der dritte Schritt besteht darin, die rechte Klammer „)“ zu entfernen:

rename 's/\)//' *.png
Nach dem Login kopieren
Schritt 4: Ändern Sie den Dateinamen in eine fünfstellige Zahl und fügen Sie vor der fünfstelligen Zahl eine 0 hinzu. Das Erstellungsskript a.sh ist fertig. Der Inhalt des Skripts ist wie folgt:

#!/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
Nach dem Login kopieren
Dann legen Sie die Skriptdatei und den Ordner ab, in dem der Dateiname geändert werden muss, und wir können das Skript direkt ausführen.

Wenn zu diesem Zeitpunkt „Unzureichende Berechtigungen“ angezeigt wird, fügen Sie einfach Ausführungsberechtigungen hinzu.

chmod  755 a.sh
Nach dem Login kopieren
An diesem Punkt haben wir die Aufgabe abgeschlossen. Wenn Sie etwas nicht verstehen, hinterlassen Sie mir bitte eine Nachricht. Bei Nachdruck bitte die Quelle angeben: http://www.cnblogs.com/wongyi/

Das obige ist der detaillierte Inhalt vonErläutern Sie anhand eines Beispiels die Verwendung regulärer Ausdrücke im Umbenennungsbefehl. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:linuxprobe.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage