Forum Programmation.shell pls2dir : convertir une playlist .pls vers un dossier rempli de musiques

Posté par (page perso) .
Tags : aucun
4
22
fév.
2011

Voilà, pour mes besoins perso, j'ai fait un petit script qui convertit les fichiers .pls vers un dossier avec les musiques de la playlist.

Bien sûr c'est du "ça marche chez moi" donc libre à vous de le modifier. En parlant de libre, c'est sous WTFPL :

#!/bin/bash
#
#            DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
#                    Version 2, December 2004
#
# Copyright (C) 2011 Dorian <http://linuxfr.org/users/nairod>
#
# Everyone is permitted to copy and distribute verbatim or modified
# copies of this license document, and changing it is allowed as long
# as the name is changed.
#
#            DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
#   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
#
#  0. You just DO WHAT THE FUCK YOU WANT TO.


# Usage
if [ $# -ne 1 ]
then
  echo Usage : pls2dir FILE
  exit
fi

# Make directory
dir=${1/.pls/}
if [ ! -d "$dir" ]
then
  echo -n "Make directory : "
  echo $dir
  mkdir "$dir"
else
  echo "Directory already exist"
fi

# File for list of musics with some filters
out=$(mktemp)
grep File "$1" | cut -d"=" -f2 > $out

# Copy each music to the directory
while read line
do
  name=$(echo "$line" | sed 's,.*/,,')
  name=$(printf "%b\n" "${name//%/\x}")
  curl -s "$line" > "$dir/$name"
done < $out
  • # remarques

    Posté par . Évalué à 1.

    Si je peux me permettre une ou deux remarques :

    • j'aurais utilisé #!/bin/sh à la place de #!/bin/bash
    • j'aurais remplacé ça grep File "$1" | cut -d"=" -f2 > $out par awk -F= '/File/{ print $2 }' > $out

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

    • [^] # Re: remarques

      Posté par (page perso) . Évalué à 3.

      j'aurais utilisé #!/bin/sh à la place de #!/bin/bash

      Certes, il est possible de réécrire les bashismes pour être compatible sh, mais c'est quand même plus joli ainsi.

    • [^] # Re: remarques

      Posté par (page perso) . Évalué à 3.

      • C'est un truc fait maison, j'ai pas trop envie de vérifier la compatibilité avec tout les shell.
      • J'utilise ce que je connaît, et je maîtrise pas trop awk.

      Mais merci pour tes remarques, et il faut vraiment que j'apprenne à utiliser awk (et sed) à fond.

      « En fait, le monde du libre, c’est souvent un peu comme le parti socialiste en France » Troll

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.