Ich habe eine Reihe von Bildern 1.jpg 2.PNG 3.gif 4.jpeg
in einem Verzeichnis. Ich möchte sie alle umbenennen in 1-s.jpg 2-s.PNG 3-s.gif 4-s.jpeg
.
Ich habe versucht, diese Befehle auszuführen, aber sie hatten keine Auswirkungen auf die Dateien im Verzeichnis:
rename 's/^(\d+)\.(.*)/$1-s.$2/' .
rename 's/^(\d+)\.(.+)/$1-s.$2/' .
rename 's/.*\.(.+)/$1-s.$2/' .
Was habe ich falsch gemacht?
Antwort1
Verwenden Sie das Platzhalterzeichen *
für Dateinamen:
rename 's/^(\d+)\.(.*)/$1-s.$2/' *
und man kann es etwas vereinfachen:
rename 's/^(\d+)(?=\.)/$1-s/' *
wobei es (?=\.)
sich um einen positiven Vorausschau handelt, der sicherstellt, dass wir einen Punkt nach der Ziffer haben, ohne ihn zu erfassen.