[hack] Bash scripting e conversione formati musicali
Marco Masetti
marco.masetti@softeco.it
Mar 4 Set 2007 11:15:03 CEST
Hal wrote:
> Ciao,
>
> Vorrei ascoltare offline una trasmissione radio disponibile solo come
> streaming in formato realaudio.
>
> http://www.bbc.co.uk/radio/aod/shows/rpms/radio4/six_pm_news.ram
>
> Inoltre la vorrei ascoltare in formato Ogg-Vorbis.
>
>
> Ho trovato uno script molto interessante
> http://www.esfnet.co.uk/index.php?page=Listen_Again
>
> per l'esattezza
> http://www.esfnet.co.uk/listenagain.sh
>
>
> appena lo lancio mi dą un errore mentre tenta di estrarre il nome del
> file dal url
>
> hal@box:~$ listenagain.sh
> http://www.bbc.co.uk/radio/aod/shows/rpms/radio4/six_pm_news.ram
> radio location is malformed (check your command argument)
> job@box:~$
>
>
> Credo che il colpevole sia questo ciclo if/else
>
> # Get ram file from the end of $1: the bit between the last '/' and
> ".ram"...
> if [[ $1 =~ 'http://(.*)/([^/]*)\.ram' ]]; then
> outfile=${BASH_REMATCH[2]}
> else
> echo "radio location is malformed (check your command argument)"
> exit
> fi
>
>
> Ci capite qualcosa? Io no... :-(
>
La regex mi sembra corretta; ho provato ad eseguire solo lo snippet
sotto bash e mi definisce correttamente outfile come 'six_pm_news'.
Anche sotto perl funziona correttamente
Il mio interprete di regex perl dice:
The regular expression:
(?-imsx:http://(.*)/([^/]*)\.ram)
matches as follows:
NODE EXPLANATION
----------------------------------------------------------------------
(?-imsx: group, but do not capture (case-sensitive)
(with ^ and $ matching normally) (with . not
matching \n) (matching whitespace and #
normally):
----------------------------------------------------------------------
http:// 'http://'
----------------------------------------------------------------------
( group and capture to \1:
----------------------------------------------------------------------
.* any character except \n (0 or more times
(matching the most amount possible))
----------------------------------------------------------------------
) end of \1
----------------------------------------------------------------------
/ '/'
----------------------------------------------------------------------
( group and capture to \2:
----------------------------------------------------------------------
[^/]* any character except: '/' (0 or more
times (matching the most amount
possible))
----------------------------------------------------------------------
) end of \2
----------------------------------------------------------------------
\. '.'
----------------------------------------------------------------------
ram 'ram'
----------------------------------------------------------------------
) end of grouping
----------------------------------------------------------------------
che e' quello che si vuole. Guardo meglio lo script intero e faccio
altre prove.
Ciao,
Marco.
>
> Grazie a chi saprą aiutarmi
> Alberto
> _______________________________________________
> hack mailing list
> hack@firenze.linux.it
> https://lists.firenze.linux.it/mailman/listinfo/hack
>
>
>
--
--------------------------------------------------------------------
Ing. Marco Masetti
Project Manager - Research & Innovation
Softeco Sismat S.P.A.
Via De Marini, 1 - WTC Tower
Tel: (+39) 010 6026.333 http://www.softeco.it
Fax: (+39) 010 6026.350 mailto://marco.masetti@softeco.it
---------------------------------------------------------------------
Maggiori informazioni sulla lista
golem-hack