Buchstaben vor dem vorherigen Namen im Ordner anhängen. (Umbenennen)

Buchstaben vor dem vorherigen Namen im Ordner anhängen. (Umbenennen)

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:

  • *.wavermö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 Computer prename -nv 's/^(.*)$/A$1/' 1.wav 2.wav 3.wavusw. als den eigentlichen Befehl.
  • Dabei handelt es 's/^(.*)$/A$1/'sich eigentlich um einen s/PATTERN/REPLACEMENTregulä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 -nvdie Schalter für ausführliche -vund Probeläufe vorgesehen sind -n. Wenn Sie mit dem Testlauf zufrieden sind, entfernen Sie sie, -num 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

verwandte Informationen