So, ich suche eine Möglichkeit Playlisten (*.m3u) massenweise zu erstellen. Dabei habe ich zwei kleinere Probleme, Hauptproblem ist, daß die Jukebox (iRiver HP120) die unixoiden Zeilenumbrüche nicht schluckt. Da es sich um mehr als 200 Playlisten handeln wird, möchte ich das nicht per Hand korrigieren. Das zweite Problem ist, daß die Kiste auch mit Windowszeilenumbrüchen das Format mit Dateinamenpfad nicht unterstützt. Eine tumbe Liste der Dateinamen wird allerdings anstandslos geschluckt.
Kennt jemand ein Programm oder ein Shellscript, daß rekursiv (oder auch nicht) Playlisten dieser Art erstellt (also eine schlichte Liste der Dateinamen in einem Verzeichnis, mit Windows Zeilenumbrüchen und dann benannt mit dem Dateinamen des letzten übergeordneten Verzeichnisses.m3u)? Ein Auslesen der id3 Tags wäre nicht einmal notwendig, da ich eh immer %artist – %n – %tracktitle.ogg rippe.
Wäre zu schön.
Gruß, Benjamin
Eine tumbe Liste von MP3-Dateien im aktuellen Verzeichnis kriegst Du also z.B.
mit
ls *.mp3 | grep -v “^$” | unix2dos > $(basename $(pwd)).liste
Das grep ist zum rausfiltern von leeren Zeilen, unix2dos sorgt für
DOS-Zeilenenden und basename schneidet vom aktuellen Directory (Ausgabe von
pwd) alles bis auf den eigentlichen Namen ab.
Was da noch fehlt, um eine m3u Datei zu werden? Keine Ahnug, ich kenne das
Format nicht und Du hast ja leider kein Beispiel angegeben.
Super, vielen Dank werde es gleich heute abend ausprobieren.
Der Grund, warum ich kein Format angegeben habe ist simpel: Die m3u Listen von noatun sehen anders aus als die von Winamp sehen anders aus als die von amarok sehen anders aus als die von easytag … und da eine Liste mit Dateinamen als Text mit der Endung *.m3u reicht, nehme ich an, daß entweder *.m3u nicht so richtig standardisiert ist oder sich die Leute nicht an den Standard halten.
Also nochmal merci bien …
Benjamin
OK, mußte etwas rumbasteln mit
ls *.mp3 *.ogg | grep -v “^$” | unix2dos | tee “$(“basename “$(pwd)”)”.m3u
Es mußten noch ein paar “” sein, sonst geht es mit dem Verzeichnisnamen mit Leer oder Sonderzeichen nicht, so klappt es wunderbar. Rekursives Verzeichnisdurchsuchen habe ich jetzt nicht gemacht, dafür diese Zeile als Bash-Script ausfürhbar abgespeichert und im Krusader einen Knopf dafür in die Menüleiste gemacht. Klappt wunderbar, wenn man die Titel wie in der Frage beschrieben benennt. tee sorgt dafür, daß man die Arbeit auf der Konsole sieht.
Benjamin