如何`wget`文本文件中的URL列表?

时间:2016-12-06 01:30:33

标签: text wget

假设我在一个位置有一个包含数百个URL的文本文件,例如

http://url/file_to_download1.gz
http://url/file_to_download2.gz
http://url/file_to_download3.gz
http://url/file_to_download4.gz
http://url/file_to_download5.gz
....

使用wget下载每个文件的正确方法是什么?我怀疑有一个像wget -flag -flag text_file.txt

这样的命令

5 个答案:

答案 0 :(得分:71)

快速man wget给了我以下内容:

  

[..]

     

-i 文件

     

- 输入文件= 文件

     

从本地或外部文件中读取URL。如果 - 指定为文件,则从标准输入读取URL。 (使用./-从字面上命名的文件中读取 - 。)

     

如果使用此功能,则命令行上不需要存在URL。如果命令行和输入文件中都有URL,那么命令行上的URL将是第一个要检索的URL。如果未指定--force-html,则文件应包含一系列URL,每行一个。

     

[..]

所以:wget -i text_file.txt

答案 1 :(得分:14)

尝试:

wget -i text_file.txt

(检查男人wget)

答案 2 :(得分:4)

如果您还想保留原始文件名,请尝试:

wget --content-disposition --trust-server-names -i list_of_urls.txt

答案 3 :(得分:0)

如果您使用的是 OpenWrt ,或者使用的wget的旧版本无法为您提供-i选项:

#!/bin/bash
input="text_file.txt"
while IFS= read -r line
do
  wget $line
done < "$input"

此外,如果您没有wget,则可以使用curl或任何用于下载单个文件的东西。

答案 4 :(得分:0)

并行运行
cat text_file.txt | parallel --gnu "wget {}"