Ich benutze die rename
ganze Zeit. Es ist ziemlich einfach, aber Sie kennen hoffentlich den regulären Ausdruck:
rename "s/SEARCH/REPLACE/g" *
Dadurch wird die Zeichenfolge ersetzen SEARCH
mit REPLACE
in jeder Datei (das heißt, *
). Das /g
bedeutet global, wenn Sie also ein hätten SEARCH_SEARCH.jpg
, würde es umbenannt REPLACE_REPLACE.jpg
. Wenn Sie es nicht /g
getan hätten , wäre es nur einmal ausgetauscht worden und wurde daher jetzt benannt REPLACE_SEARCH.jpg
. Wenn Sie die Groß- und Kleinschreibung nicht berücksichtigen möchten, fügen Sie hinzu /i
(das wäre /gi
oder /ig
am Ende).
Mit regulären Ausdrücken können Sie viel mehr tun.
Beachten Sie, dass dies rename
der prename
(auch als Perl bezeichnete rename
) Befehl ist, der vollständige reguläre Perl-Ausdrücke unterstützt. Es gibt einen anderen, rename
der Muster verwendet und nicht so mächtig ist. prename
Früher wurde es standardmäßig unter Ubuntu (zusammen mit Perl) installiert, aber jetzt müssen Sie möglicherweise Folgendes tun:
sudo apt install rename
Hier einige Beispiele:
Präfix
Hinzufügen :
rename 's/^/MyPrefix_/' *
document.pdf
umbenannt in MyPrefix_document.pdf
Entfernen :
Sie können auch unerwünschte Zeichenfolgen entfernen. Angenommen, Sie hatten 20 MP3-Dateien mit dem Namen like CD RIP 01 Song.mp3
und wollten den Teil "CD RIP" entfernen, und Sie wollten diesen mit einem Befehl von allen entfernen.
rename 's/^CD RIP //' *
CD RIP 01 Song.mp3
zu 01 Song.mp3
Beachten Sie den zusätzlichen Speicherplatz in '^CD RIP '
. Ohne den Speicherplatz hätten alle Dateien ein Leerzeichen als erstes Zeichen der Datei. Beachten Sie auch, dass dies ohne das ^
Zeichen funktioniert , aber CD RIP
in jedem Teil des Dateinamens übereinstimmt . Das ^
garantiert, dass es die Zeichen nur entfernt, wenn sie der Anfang der Datei sind.
Suffix
Hinzufügen :
rename 's/$/_MySuffix/' *
document.pdf
umbenannt in document.pdf_MySuffix
Änderung :
rename 's/\.pdf$/.doc/' *
wird sich ändern Something.pdf
in Something.doc
. (Der Grund für die Backslash ist, .
ist ein Platzhalter in regexp so .pdf
Streichhölzer , qPDF
während \.pdf
nur die exakte Zeichenfolge entspricht .pdf
. Ebenfalls sehr wichtig zu beachten, wenn Sie mit BASH nicht vertraut sind, müssen Sie Schrägstriche in einfache Anführungszeichen setzen! Sie können keine Anführungszeichen weglassen oder verwenden Sie doppelte Anführungszeichen, oder bash versucht, sie zu übersetzen. to bash \.
and "\."
equals .
. (Es werden jedoch doppelte Anführungszeichen und Backslashes verwendet, z. B. "\ n" für eine neue Zeile, da dies "\."
jedoch keine gültige Back-Escape-Sequenz ist.) übersetzt in .
)
Tatsächlich können Sie die Teile des Strings sogar in Anführungszeichen anstatt in das Ganze setzen: 's/Search/Replace/g'
ist dasselbe wie s/'Search'/'Replace'/g
und s/Search/Replace/g
für BASH. Sie müssen nur auf Sonderzeichen (und Leerzeichen) achten.
Ich schlage vor, die -n
Option zu verwenden, wenn Sie nicht sicher sind, dass Sie die richtigen regulären Ausdrücke haben. Es zeigt, was umbenannt werden würde, und wird dann beendet, ohne es zu tun. Zum Beispiel:
rename -n s/'One'/'Two'/g *
Dies listet alle Änderungen auf, die vorgenommen worden wären, wenn Sie die -n
Flagge nicht dort platziert hätten. Wenn es gut aussieht, drücken Sie Up, um zurückzukehren, und löschen Sie dann -n
und drücken Sie Enter(oder ersetzen Sie es durch, -v
um alle vorgenommenen Änderungen auszugeben).
Hinweis : Ubuntu-Versionen über 17.04 rename
werden standardmäßig nicht mitgeliefert, sind jedoch weiterhin in den Repositorys verfügbar. Verwenden Sie sudo apt install rename
es zu installieren