从列表中下载文件

如何使用wget或其他一些自动方式下载文件(文本文件中列出的文件)?

示例文件列表:

 www.example.com/1.pdf www.example.com/2.pdf www.example.com/3.pdf 

wget有一个内置的标志: wget -i your_list你可以通过阅读man wget找到这种东西

让它们并行

 cat urlfile | parallel --gnu "wget {}" 

默认情况下,它将运行与核心一样多的进程,如果你真的想通过在并行之后添加“-j 20”来快速降低它们,你可以再增加10倍。

 xargs -i wget 'http://{}' < your_list 

parallel有一个内置标志--arg-file-a ),它将使用一个输入文件作为源,所以你可以避免cat | 。 您可以使用

 parallel --gnu -a urlfile wget 

或者简单地parallel --gnu wget < urlfile

 awk '{print "http://" $0;}' list.txt | xargs -l1 wget 

list.txt是你的列表文件

我看到Florian Diesch的回答。

我通过在命令中包含参数bqc来实现它。

 xargs -i wget -bqc 'http://{}' < download.txt 

所有下载均在后台并行开始。

  • -b :背景。 开始后立即转到后台
  • -q :安静。 关闭wget的输出
  • -c :继续。 继续获取部分下载的文件

链接文件links.txt

用于下载所有链接文件的命令

  cat links.txt | wget -i