Ich habe mehrere Ordner und jeder hat etwa 175 Dateien darin. Dateinamen sind wie
1.wav
2.wav
3.wav
......
175.wav
Ich muss sie umbenennen in
A1.wav
A2.wav
A3.wav
......
A175.wav
Mit anderen Worten, ich muss Buchstaben an die vorherigen Dateinamen anhängen.
Ich frage mich, ob es dafür eine einfache Möglichkeit gibt.
Die Ubuntu-Version ist 16.10
Antwort1
Es gibt viele Möglichkeiten, ich persönlich würde eine for-Schleife wählen:
for f in *.wav ; do mv "$f" "A$f" ; done
Dies ist einfach und kann leicht für andere Zwecke geändert werden ...
Antwort2
Benutzerbefehl prename
:
$ prename -nv 's/^(.*)$/A$1/' *.wav
1.wav renamed as A1.wav
2.wav renamed as A2.wav
3.wav renamed as A3.wav
Der Text lautet einfach:
*.wav
ermöglicht der Shell, das Platzhalterzeichen zu erweitern, um alle Dateien aufzulisten, die mit enden.wav
. Wenn die Shell den vollständigen Befehl ausführt, sieht der Computerprename -nv 's/^(.*)$/A$1/' 1.wav 2.wav 3.wav
usw. als den eigentlichen Befehl.- Dabei handelt es
's/^(.*)$/A$1/'
sich eigentlich um einens/PATTERN/REPLACEMENT
regulären Ausdruck mit Gruppierung(.*)
, der es uns ermöglicht, den gesamten Dateinamen von Anfang^
bis Ende zu gruppieren$
und als darauf zu verweisen$1
.
Beachten Sie, dass -nv
die Schalter für ausführliche -v
und Probeläufe vorgesehen sind -n
. Wenn Sie mit dem Testlauf zufrieden sind, entfernen Sie sie, -n
um die tatsächliche Umbenennung anzuwenden.
Antwort3
Verwendung von rename
:
rename 's/([0-9]+).wav/A\1.wav/' *.wav
s/SEARCH-FOR/REPLACE-WITH/ within-this-files
([0-9]+)
den Zahlenabschnitt enthält, können wir ihn erneut verwenden\1
.A\1.wav
:A
+ (Nummernabschnitt) +.wav