Pergunta

Eu tenho um arquivo enorme com lotes de links para arquivos de vários tipos para download. Cada linha é um comando de download como:

wget 'URL1'

wget 'URL2'

...

e há milhares daqueles.

Infelizmente algumas URLs olhar muito feio, como por exemplo: http: //www.cepa .org.gh / archives / pesquisa-working-papers / WTO4% 20 (1) -charles.doc Ele abre OK em um navegador, mas confunde wget.

Estou recebendo um erro:

./ tasks001.sh: linha 35: erro de sintaxe próximo inesperado token de '1'

./ tasks001.sh: Linha 35: `wget ' http://www.cepa.org.gh/archives/research-working-papers/WTO4%20 (1) -charles.doc ''

Eu tentei tanto URL e 'url' maneiras de especificar o que download.

Existe uma maneira de fazer um script como que a execução autônoma? Estou OK se ele vai simplesmente ignorar o arquivo não poderia baixar.

Foi útil?

Solução

Eu acho que você precisa aspas utilizadas ( "), e não aspas simples ( ') em todo o URL.

Se isso ainda não funcionar, tente escapar da caracteres ( e ) paren com uma barra invertida: \( e \)

que a Shell você está usando? Bash? zsh?

Outras dicas

Do not (ab) usam o shell.

Salve as URLs para algum arquivo (digamos my_urls.lst) e fazer:

wget -i my_urls.lst

Wget irá lidar com citando etc, por si própria

Isto não responder exatamente a sua pergunta, mas:

Ambos os seguintes comandos trabalhar diretamente em um shell bash:

wget "http://www.cepa.org.gh/archives/research-working-papers/WTO4%20(1)-charles.doc"

e

wget 'http://www.cepa.org.gh/archives/research-working-papers/WTO4%20(1)-charles.doc'

Você pode verificar para ver se qualquer um desses trabalho para você?

O que parece estar acontecendo é que o shell está fazendo algo com as (caracteres. Gostaria de tentar usar aspas duplas "em vez de aspas simples 'em torno de sua URL.

Se você deseja erros suprimir você pode usar a> / dev / null em UNIX para redirecionar a saída padrão ou 2> / dev / null para redirecionar o erro padrão. Sob outros sistemas operacionais pode ser outra coisa.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top