我有一个download-list.txt
看起来像这样的文本文件:
http://www.example.com/file/image1.png
http://www.example.com/file/image2.png
http://www.example.com/file/image3.png
.
.
.
Run Code Online (Sandbox Code Playgroud)
要下载我运行的列表中的文件
wget -i download-list.txt
Run Code Online (Sandbox Code Playgroud)
有没有我可以使用的 wget 魔法不需要我列出这样的列表?
如果您使用的是相当现代的 bash,则可以像这样使用 shell 扩展:
wget http://www.example.com/file/image{1..99}.png
Run Code Online (Sandbox Code Playgroud)
以上将尝试image1.png
一直到image99.png
. 显然,请根据需要选择您的范围。那些不存在的文件应该会抛出错误,但不会导致实际问题。如果需要,您可以使用一些 wget 选项或通过将 STDERR 重定向到 /dev/null 来抑制错误:
wget http://www.example.com/file/image{1..99}.png 2> /dev/null
Run Code Online (Sandbox Code Playgroud)
对于真正数量庞大的文件,您可能会遇到命令行的限制 - 命令行上可以使用的参数数量是最大的。您不太可能遇到这个问题,但如果您正在处理大量文件,for 循环可能更安全:
for f in {1..1000}; do wget http://www.example.com/file/image$f.png; done
## and the version sending STDERR to /dev/null:
for f in {1..1000}; do wget http://www.example.com/file/image$f.png 2> /dev/null; done
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
235 次 |
最近记录: |