Eu acho que, para obter wget
para salvar como um nome de arquivo diferente do URL especificado, você precisa usar o argumento -O filename
. Isso só faz o que você quer quando você dá a ele um único URL - com vários URLs, todo o conteúdo baixado acaba em filename
.
Mas essa é realmente a resposta. Em vez de tentar fazer tudo em um comando wget
, use vários comandos. Agora seu fluxo de trabalho se torna:
- Execute
wget
para obter o (s) arquivo (s) HTML básico contendo seus links;
- Analisar URLs;
- Para o URL que termina em
mp3
,
- process URL para obter um nome de arquivo (por exemplo, transformar
http://foo/bar/baz.mp3?gargle=blaster
em baz.mp3
- (opcional) verifique se o nome do arquivo não existe
- executar
wget <URL> -O <filename>
Isso resolve seu problema, mas agora você precisa descobrir como obter os arquivos de base para encontrar seus mp3
URLs.
Você tem em mente um site / URL específico? Os passos 1 e 3 serão mais fáceis de lidar com um exemplo concreto.