Ich liebe den Baukasten eines *X Systems :-) :Umbenennen von MP3 Dateien

Gegeben sind MP3 Daten, mit sehr sinnigen Dateinamen wie:

track_01.mp3
track_02.mp3
track_03.mp3
[...]

Glücklicherweise sind die ID3 Tags gesetzt. Was liegt also näher, als die Dateien mit Hilfe von id3info umzubennen. Nach einigem fummeln und probieren, habe ich folgendes zusammen gesetzt:


for i in *.mp3;

do mv $i "${*##}`id3info $i | egrep '(TPE1|TIT2)' | cut -d: -f 2 | tr -d [:cntrl:] | cut --complement -b 1 \
|sed "s/ /_/g"`.mp3";

done

Es gibt sicher weitaus bessere Wege, das mit der Bash zu lösen, aber dennoch bin ich Stolz auf diese Lösung. Sozusagen quick and really dirty ;-)

Das Einzige Problem, was ich jetzt noch nicht lösen konnte, ist es “find” einzubauen, sodass ich ihn auf einen Ordner anwenden kann. Wenn ich es mit … :


for i in `find /order/mit/mp3 -name "*.mp3"`

do mv $i "${*##}`id3info $i | egrep '(TPE1|TIT2)' | cut -d: -f 2 | tr -d [:cntrl:] | cut --complement -b 1 \
|sed "s/ /_/g"`.mp3";

done

… probiere, dann verschiebt er die Dateien in den Arbeitsordner (pwd).

In ein paar Monaten, löse ich solche Aufgaben in Perl :-) Bitte kommt nicht auf die Idee, eine Perlösung hier rein zustellen. Das will ich selbst lösen ;-)

Deine IP ist:
38.107.179.206

1 Kommentar

  • geschrieben am März 1, 2007 um 15:16 Uhr | Permalink

    Ich hab sowas schon mal in Perl (und es ist sogar noch lesbar) aber du willst ja keine fertige Lösung (hätte ich jetzt eh nicht hier, liegt nämlich zuhause) …