====== extracteur de fichiers sons pour playlist pls ====== * ce programme fabrique un répertoire locale du nom de la playlist soumise * il y copie tous les fichiers sons listés dans la playlist * il y refabrique un fichier playlist pls tout pret * on peut le coller en menu contextuel pour les fichier pls par un lanceur (thunar) #!/bin/bash # exportpls.start lanceur thunar xterm -e "/usr/local/bin/exportpls.sh $1 ; sleep 5" exit 0 **exportpls.sh** **usage : exportpls.sh nom-de-playlist** #!/bin/bash ### # extracteur de playliste avec une copie de ses fichiers en locale # usage exportpls.sh nomplaylist.pls # regler le probleme des espaces SAVEIFS=$IFS IFS=$(echo -en "\n\b") ### MUSIQUEBASE=~/Musique if [ ! -d ../Musiques_sources ] ; then mkdir -p ../Musiques_sources fi MUSIQUESOURCE="../Musiques_sources" PLSBASENAME=`basename $1 .pls` if [ ! -d $PLSBASENAME ] ; then mkdir $PLSBASENAME fi rm -rf $PLSBASENAME/* grep "File" $1 > /tmp/pls awk -F"=" '{ printf("@%s@\n",$2) }' /tmp/pls | tr "@" "'" > /tmp/pls.fic for i in `cat /tmp/pls.fic` do echo $i FIBASENAME=` basename $i \' ` find $MUSIQUESOURCE -name $FIBASENAME > /tmp/pls.ok if [ ! -s /tmp/pls.ok ];then find $MUSIQUEBASE -name $FIBASENAME -exec /bin/cp -af {} $MUSIQUESOURCE/$FIBASENAME \; fi find $MUSIQUESOURCE -name $FIBASENAME -exec /bin/cp -L {} $PLSBASENAME/$FIBASENAME \; ## re ecrire playlist pls dans le repertoire echo "File$LIGNE="$FIBASENAME | tr -d "'" >> ./$PLSBASENAME/$PLSBASENAME.pls let LIGNE="$LIGNE+1" done echo "" echo "c est fini" ### IFS=$SAVEIFS exit 0