jump to navigation

aac2mp3 revolution 17 Febbraio 2008

Posted by fripp in Bash, Debian, GNU/Linux, Informatica, Mac OS X, Musica, Programmazione, Scripting, Sistemi Operativi, Ubuntu, Unix.
Tags: , , , , , , , ,
trackback

Usando il titolo “aac2mp3 revolution” non intendo dire che il mio script rivoluzionerà il mondo :D ; sapete, dopo “aac2mp3 reloaded” non poteva che esserci “aac2mp3 revolution”.

Lasciamo stare queste scemenze.

Ho ulteriormente migliorato la versione precedente dello script di conversione da aac a mp3, in modo tale che sia in grado di gestire pure i maledetti files il cui nome contiene degli spazi.

Ecco il codice:


#!/bin/sh

function usage(){
    echo "usage: `basename $0` -e extension [-d file directory name|file list]"
    echo
    exit 1
}

input_dir=""
extension=""

if [[ $# -le 2 ]]; then
    usage
fi

if [[ "$1" == "-e" ]]; then
    extension=$2
else
    usage
fi

if [[ "$3" == "-d" ]]; then

    if [[ -d "$4" ]]; then
        input_dir=$4

        find "$input_dir" -maxdepth 1 -type f -iname "*$extension" |\
        while read I; do

            faad -d "$I"

            lame "$(echo "$I"|sed -e s/"$extension"/""/)wav"

            mv "$(echo "$I"|sed -e s/"$extension"/""/)wav.mp3" "$(echo "$I"|sed -e s/"$extension"/""/)mp3"

            rm -v "$I"

            rm -v "$(echo "$I"|sed -e s/"$extension"/""/)wav"
        done

    else
        echo -e "\nInsert a valid directory name\n"
        echo "$4 is not a directory"
        exit 1
    fi

else

    until [ -z $3 ]
    do

        if [[ -f "$3" ]]; then

            faad -d "$3"

            lame "$(echo "$3"|sed -e s/"$extension"/""/)wav"

            mv "$(echo "$3"|sed -e s/"$extension"/""/)wav.mp3" "$(echo "$3"|sed -e s/"$extension"/""/)mp3"

            rm -v "$3"

            rm -v "$(echo "$3"|sed -e s/"$extension"/""/)wav"

            shift
        else
            echo -e "\nInsert a valid input file\n"
            echo "$3 is not a file"
            exit 1
        fi
    done
fi

Enjoy……………

Commenti»

No comments yet — be the first.