faz download de arquivos do arquivo de texto que contém a lista de arquivos no linux

1

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

    
por M.E 02.01.2010 / 07:00

4 respostas

9

De man wget :

You have a file that contains the URLs you want to download? Use the -i switch:

wget -i <file>

    
por 02.01.2010 / 07:03
1

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)

    
por 02.01.2010 / 20:42
1
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)

    
por 02.01.2010 / 20:34
0

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
    
por 02.01.2010 / 19:45