Ich benutze die renameganze Zeit. Es ist ziemlich einfach, aber Sie kennen hoffentlich den regulären Ausdruck:
rename "s/SEARCH/REPLACE/g" *
Dadurch wird die Zeichenfolge ersetzen SEARCHmit REPLACEin jeder Datei (das heißt, *). Das /gbedeutet global, wenn Sie also ein hätten SEARCH_SEARCH.jpg, würde es umbenannt REPLACE_REPLACE.jpg. Wenn Sie es nicht /ggetan 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 /gioder /igam Ende).
Mit regulären Ausdrücken können Sie viel mehr tun.
Beachten Sie, dass dies renameder prename(auch als Perl bezeichnete rename) Befehl ist, der vollständige reguläre Perl-Ausdrücke unterstützt. Es gibt einen anderen, renameder Muster verwendet und nicht so mächtig ist. prenameFrü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.mp3und 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.pdfin Something.doc. (Der Grund für die Backslash ist, .ist ein Platzhalter in regexp so .pdfStreichhölzer , qPDFwährend \.pdfnur 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'/gund s/Search/Replace/gfür BASH. Sie müssen nur auf Sonderzeichen (und Leerzeichen) achten.
Ich schlage vor, die -nOption 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 -nFlagge nicht dort platziert hätten. Wenn es gut aussieht, drücken Sie Up, um zurückzukehren, und löschen Sie dann -nund drücken Sie Enter(oder ersetzen Sie es durch, -vum alle vorgenommenen Änderungen auszugeben).
Hinweis : Ubuntu-Versionen über 17.04 renamewerden standardmäßig nicht mitgeliefert, sind jedoch weiterhin in den Repositorys verfügbar. Verwenden Sie sudo apt install renamees zu installieren