从列表中下载文件
如何使用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