如何使用 curl 和 xargs 下载存储在文本文件中的多个文件?

Eon*_*nil 7 xargs curl

如何使用 curl 和 xargs 下载存储在文本文件中的多个文件?这是我最后一次试验:

cat listfile.txt | xargs curl -O
Run Code Online (Sandbox Code Playgroud)

第一个文件运行良好,但其他文件只是输出到标准输出。

Ole*_*nge 12

使用 GNU Parallel http://www.gnu.org/software/parallel/你可以:

cat listfile.txt | parallel curl -O
Run Code Online (Sandbox Code Playgroud)

GNU Parallel 不仅可以很好地处理像 ' " 和空格这样的特殊字符,您还将获得并行下载的额外好处。

观看 GNU Parallel 的介绍视频:http : //www.youtube.com/watch?v=OpaiGYxkSuQ


Eon*_*nil 2

我找到了解决方案:

cat ./../c | xargs -n1 curl -O
Run Code Online (Sandbox Code Playgroud)

xargs 用空格和换行符分割 stdin,并立即传递给curl。因此,curl 只调用一次长参数。

n1选项将此传递参数计数限制为 1,因此curl 将被多次调用。