Batch rename von Dateien mit der Shell

Unter Linux können z.B. mit der Bash-Shell Dateien mittels sed und regulären Ausdrücken sehr komfortabel in Massen umbenannt werden.

Hier ein Beispiel welches alle mp3 Dateien im Stil von Titel 1.mp3, Titel 2.mp3 ...
in 1.mp3, 2.mp3 umbenennt.

for i in *.mp3; do mv "$i" `echo $i|sed 's/Titel - \([0-9][0-9]\)/\1/'`; done
 

Das Ganze spielt sich in einer For-Schleife gepaart mit dem Tool sed und einem regulären Ausdruck ab.
Wichtig ist hierbei, dass in der Shell die Klammern zur Gruppierung von Ausdrücken mit dem Backslash maskiert werden müssen.

Sehr nützlich ist, dass man im Suche und Ersetzen Pattern auf die regex-Groups (\1) zurückgreifen kann und damit bestimmte Textteile im neuen Dateinamen wiederverwenden kann. Im Beispiel wurde die Titelnummer wiederverwendet.

erstellt am 02.01.2014 um 14:44:39 von Alexander Rausch

Kommentare

Keine Kommentare vorhanden!

Bitte nutze das folgende Formular um ein Kommentar zu schreiben.
Zum Formatieren kann BB-Code genutzt werden.


Bot-Schutzabfrage: Was ist 2+5


Zurück