我正在使用xargs
+curl
来处理包含大量(超过 1000)个 url 的文件。
该文件files.txt
看起来有点像这样
...
https://some.image.jpg?{foo}.{bar}
...
我正在跑步
xargs -n 1 curl -o "#1.#2" < files.txt
这是正确下载some.image.jpg
到文件中的foo.bar
,但仅限于前 40 个左右的 url,有时更多,有时更少。然后它因错误而终止
curl: (6) Could not resolve host: h
如果我从中断的 url 前面的列表中删除所有 url,然后再次运行,这次 url(现在是第一个)可以工作,但现在它再次在 no 处中断。 80(分别为 40),具有相同的错误。
所以网址没问题,手动下载没问题。
我应该提到我正在使用 GOW (https://github.com/bmatzelle/gow/wiki)在 Windows 上。
答案1
问题似乎出在xargs
,因为它使用 for 循环顺利工作:
FOR /F %i IN (files.txt) DO curl -o "#1.#2" %i