Respostas:
O wget possui um sinalizador embutido para isso: wget -i your_list
Você pode encontrar esse tipo de coisa lendoman wget
Coloque-os em paralelo com
cat urlfile | parallel --gnu "wget {}"
Por padrão, ele executará o maior número de processos que você tiver núcleos; provavelmente, você poderá aumentar esse número mais 10 vezes se realmente quiser reduzi-los rapidamente adicionando "-j 20" após paralelo.
xargs -i wget 'http://{}' < your_list
Vi a resposta de Florian Diesch.
Eu consegui trabalhar incluindo o parâmetro bqc
no comando.
xargs -i wget -bqc 'http://{}' < download.txt
Todos os downloads começaram em paralelo em segundo plano.
-b
: Fundo. Ir para o plano de fundo imediatamente após o início-q
: Quieto. Desativar a saída do wget-c
: Continuar. Continue recebendo um arquivo parcialmente baixadoArquivo de link links.txt
Comando para carregar todos os arquivos de links
cat links.txt | wget -i
wget -i links.txt
é o comando certo.
Acabei de testar isso:
xargs -a download_file -L1 wget
Funciona para mim. Os links dentro do arquivo txt devem estar em linhas separadas.