Dateien umbenennen mit der Linux-shell

Szenario 1: Musikdateien (z.B. best-off, Musikmix) auf MP3-Player haben teilweise Titelnummern am Anfang, die wir bei der best-off-Sammlung nicht gebrauchen können. Daher soll alles (auch Sonderzeichen) bis zum ersten Buchstaben(!) gelöscht werden.

rename -v 's/^[^a-zA-Z]*//' *.mp3

Erläuterung:
Es wird nach allem gesucht, was am Anfang(^-Symbol vor der eckigen Klammer) des Dateinamens keine (^-Symbol innerhalb der Klammer) Buchstaben (groß oder klein) aufweist.
-v steht für verbose und gibt alles aus, was der Befehl "rename" ausführt
-n kann als Option angegeben, wenn man erstmal testen möchte, was passieren wird. Es werden keine Dateien umbenannt!



Szenario 2: Allen Dateien soll etwas vorangestellt werden.
In folgendem Beispiel wird "file_" vor jede bestehende Dateibezeichnung im aktuellen Verzeichnis gesetzt.
Der komplette Dateiname wird durch .* in der Variablen $1 gespeichert. Dann wird dieser komplett durch file_ und den ehemaligen Dateinamen ersetzt.

rename -n 's/(.*)/file_$1/' *

Falls beispielsweise nur mp3-Dateien geändert werden sollen, wird der Befehl wie folgt abgeändert: 

rename -n 's/(.*)/file_$1/' *.mp3

Achtung, mit dem regulären Ausdruck .* muss vorsichtig umgegangen werden. Dazu später mehr.


Ein umbennennen kann auch mit sed erfolgen. Dies und weitere Infos auf folgender Seite: http://tips.webdesign10.com/how-to-bulk-rename-files-in-linux-in-the-terminal

Keine Kommentare:

Kommentar veröffentlichen