m3u Playlist in Ordner kopieren
Erstellt am 10.03.2009 um 19:53 Uhr von sim4000
Mit diesem Bash Script kann man alle Dateien, die in einer m3u Wiedergabeliste enthalten sind, in den aktuell ausgewählten Ordner kopieren.
Aufruf
| 1 | <sim4000> (~) ./copy_playlist_files.sh /home/sim4000/musik/_PLAYLISTS/xyz.m3u |
Bei diesem Aufruf, werden alle Dateien aus der Wiedergabeliste "xyz.m3u" in den Ordner "~" (also /home/sim4000) kopiert.
Beispiel einer m3u File
| 1 2 3 4 5 6 7 8 9 10 | <sim4000> (~) cat /home/sim4000/musik/_PLAYLISTS/xyz.m3u #EXTM3U #EXTINF:253,Interpret - Titel /home/sim4000/musik/xyz/01-blablabla.mp3 #EXTINF:256,Interpret - Titel /home/sim4000/musik/xyz/02-blablabla.mp3 #EXTINF:456,Interpret - Titel /home/sim4000/musik/xyz/03-blablabla.mp3 #EXTINF:567,Interpret - Titel /home/sim4000/musik/xyz/04-blablabla.mp3 |
Das Script
| 1 2 3 4 5 6 7 8 9 10 | #!/bin/bash while read LINE; do if [ "$(echo $LINE | grep '#')" == "" ]; then FILE=$(echo $LINE | sed "s/ /\\\\ /g"); echo $FILE cp "${FILE}" ./ fi; done < $1 |
Das Script geht die m3u File mit einer while-Schleife Zeile für Zeile durch, und Filtert die Dateipfade herraus.
Nun werden in dem Dateipfad noch die Leerzeichen escaped, so das diese "Bash-Fähig" sind. Falls andere Sonderzeichen in dem Dateipfad vorkommen sollten, (wie zum Beispiel ein ' oder ein ") muss das Script erweitert werden. Ansonsten wird der Kopiervorgang bei dem betroffenen Lied fehlschlagen.


