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
- Originalzeichenfolge: die Zeichenfolge, die durch den Dateinamen ersetzt werden muss;
Zielzeichenfolge: Ersetzen Sie die im Dateinamen enthaltenen Originalzeichen durch die Zielzeichenfolge -
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!