[ubuntu-it] Script per convertire intere directory da MP3 a OGG
Riccardo Bachis
cravenroad17 a tiscali.it
Sab 4 Nov 2006 15:20:30 GMT
Max @ GMail ha scritto:
> Salve a tutti
> Il mio pallino per il FOSS sta raggiungendo proporzioni "impegnative",
> anche oltre le mie capacità.
>
> Vi chiederei una mano per costruire uno script per convertire intere
> directory concatenate di MP3 in OGG... Non avendo tanto spazio nell'HD
> sarebbe l'ideale se una volta terminata la conversione di ogni singolo
> file in OGG, l'originale in MP3 venisse cancellato.
>
>
ciao, ho riadattato per l'occasione uno script che avevo fatto per
convertire altri file.
Accetta 2 opzioni:
-r fa la scansione ricorsiva delle directory (se non indicato si ferma
al primo livello di directory)
-d cancella i file mp3 originali (che altrimenti vengono mantenuti)
Infine richiede che gli passi la directory
Esempio:
sh mp32oggrec -dr /opt/mp3
Spero ti serva
ciao
Ecco il codice:
#!bin/bash
function usage(){
echo "usage: $0 [-r] [-d] directory"
exit 1
}
if [ $# -lt 1 ]
then
usage
fi
convert="mp32ogg"
recursive=0
delete=0
while getopts "rd" opt
do
case $opt in
r ) recursive=1 ;;
d ) convert="mp32ogg --delete"
delete=1 ;;
\? ) usage
exit 2 ;;
esac
done
shift $(($OPTIND -1))
directory=$1
if [ ! -d $directory -o ! -w $directory ]
then
echo "Directory inesistente o permessi insufficienti"
exit 2
fi
initial_dir=/var/www
find_command="find $directory"
if [ $recursive -lt 1 ]
then
find_command="find $directory -maxdepth 1"
fi
for i in $( $find_command -iname "*.mp3" )
do
if [ -f $i ]
then
_file=$( basename $i )
_dir=${i%$_file}
if [ $_dir != $initial_dir ]
then
builtin cd $_dir
initial_dir=$_dir
fi
ogg_file=${i%.*}
echo "################### Converting $i to ${ogg_file}.ogg"
$convert $i
echo -n "################## ${ogg_file}.ogg created "
if [ $delete -gt 0 ]
then
echo "and $i deleted"
else
echo
fi
fi
done
Maggiori informazioni sulla lista
ubuntu-it