Crie um script bash para percorrer sua lista de URLs e executar o comando curl.
#!/bin/bash
file="filename"
while read line
do
outfile=$(echo $line | awk 'BEGIN { FS = "/" } ; {print $NF}')
curl -o "$outfile.html" "$line"
done < "$file"
Eu tenho esta lista de URLs em um arquivo .txt - que eu suponho para obter conteúdo deles. Para conseguir isso, decidi usar o cURL. Com xargs curl & lt; url-list.txt , eu posso exibir todo o conteúdo do URL dentro do meu terminal. Com o curl -o myFile.html www.example.com , só posso salvar um arquivo.
Existe também a abordagem curl -O URL1 -O URL2 , mas será demasiado longo para o fazer.
Como posso salvar vários arquivos de uma só vez ?
Editar:
#!/bin/bash
file="filename"
while read line
do
curl -o "$line.html" "$line"
done < "$file"
eu corro a tela de bash acima e aqui está o que aconteceu:
Crie um script bash para percorrer sua lista de URLs e executar o comando curl.
#!/bin/bash
file="filename"
while read line
do
outfile=$(echo $line | awk 'BEGIN { FS = "/" } ; {print $NF}')
curl -o "$outfile.html" "$line"
done < "$file"
Embora a abordagem mais simples seja criar um script de loop conforme sugerido por @ dan08, se os links que você precisa baixar forem consecutivos, por exemplo:
http://www.host.com/page-1.html
http://www.host.com/page-2.html
e assim por diante, você pode usar o comando curl como este:
curl "http://www.host.com/page-[1-30].html" -o "# 1.html" #(30 is indicative)
isto irá criar os arquivos consecutivamente, usando o valor do intervalo atual no lugar de # 1 no nome do arquivo.