Vous vous demandez comment copier les chansons d'une playlist vers une clef USB ou un autre média?
La réponse est juste là!
$ cat list.m3u | sed -e "/^#.*$/d" -e "s/\\r$//" -e 's/[^*]*/"&"/g' | xargs -i echo cp "{}" /media/usb0/autremedia/
Remplacez simplement list.m3u
par le chemin de votre playlist et /media/usb0/autremedia/
par le chemin de votre clé usb.
#EXTM3U
#EXTINF:246,1 idtag informations
/home/user/musique/album/titre1.mp3
#EXTINF:229,2 idtag informations
/home/user/musique de ma soeur/titre2.mp3
...
cat playlist.m3u | sed -e "/^#.*$/d"
/home/user/musique/album/titre1.mp3
/home/user/musique de ma soeur/titre2.mp3
Ceci semble convenir quoi que plus loin avec la commande xargs
les retours chariot (\r) vont apparaitre et poser problème.
cat playlist.m3u | sed -e "/^#.*$/d" -e "s/\\r$//"
/home/user/musique/album/titre1.mp3
/home/user/musique de ma soeur/titre2.mp3
cat playlist.m3u | sed -e "/^#.*$/d" -e "s/\\r$//" -e 's/[^*]*/"&"/g'
"/home/user/musique/album/titre1.mp3"
"/home/user/musique de ma soeur/titre2.mp3"
cat playlist.m3u | sed -e "/^#.*$/d" -e "s/\\r$//" -e 's/[^*]*/"&"/g' | xargs -i cp "{}" /media/usb0/lazicatoto/
Il est possible de faire des tests en ajoutant echo
après la dernière option de xargs
cat playlist.m3u | sed -e "/^#.*$/d" -e "s/\\r$//" -e 's/[^*]*/"&"/g' | xargs -i echo cp "{}" /media/usb0/lazicaOlaf/
cp /home/user/musique/album/titre1.mp3
cp /home/user/musique de ma soeur/titre2.mp3