#! /bin/bash if [ -z "$1" ] then echo "Usage: m3u [ -f encoding -p encoding ] [random]" exit fi if [ "$2" = "random" ] then prm="-Z -z" else prm="" fi FSE=`cat /etc/m3u.conf | grep FSEncoding | sed s/'^[ \t]*FSEncoding[ \t]*=[ \t]*'//g | sed s/'[ \t]*'$//g` PLE=`cat /etc/m3u.conf | grep PLEncoding | sed s/'^[ \t]*PLEncoding[ \t]*=[ \t]*'//g | sed s/'[ \t]*'$//g` pl=1 while getopts 'f:p:' OPT; do pl=`expr $pl + 2` case $OPT in f) FSE=$OPTARG ;; p) PLE=$OPTARG ;; esac done pl=`eval echo "\\$${pl}"` if [ -z "$FSE" -o -z "$PLE" ]; then cmd="cat \"$pl\"" else cmd="cat \"$pl\" | iconv -f $PLE -t $FSE" fi s=$(eval $cmd | grep -E "\.[mMoOwW][pPgGaA][23gGvV]" | sed s/ //g | sed s/'\\'/'\/'/g | sed s/^/\"/ | sed s/$/\"/ | perl -pi -e 's|\n| |gs' ) if [ -n "$prm" ] then eval mpg123 $prm "$s" else eval zinf "$s" fi