De man wget
:
You have a file that contains the URLs you want to download? Use the -i switch:
wget -i <file>
Eu tenho um arquivo de texto que contém uma lista de URLs para arquivos da minha palavra
por exemplo:
http://domain.com/file1.zip
http://domain.com/file2.zip
http://domain.com/file3.zip
http://domain.com/file4.zip
... etc
como eu posso baixar em lotes todos os arquivos para uma pasta automaticamente a partir do comando linux shell
obrigado pela ajuda
Você também pode usar xargs:
$ cat /path/to/list | xargs -n1 wget
ou, usando seq para baixar o arquivo1.zip para o arquivo10.zip:
$ seq 1 10 | xargs -n1 -i wget http://domain.com/file{}.zip
[edit] ou, como outro pôster apontado: $ wget domain.com/file{1..10}.zip
que é melhor que o método seq, dado que certos sistemas operacionais não possuem seq por padrão (Mac OS X, Solaris)
for i in 'cat /file/list'
do
wget $i
done
(aqueles são carrapatos de volta no "cat / file / list" (na mesma chave que o tilda)
Este comando faz o download de file1.zip para file10.zip:
for i in $(seq 1 10); do wget -nv http://domain.com/file${i}.zip ; done