是否可以将 wget 的进度条调整为多个文件?

ghi*_*esZ 2 linux bash wget sh

我正在通过或多或少的方式下载某些目录的所有“.htm”文件:

wget http://some/url/ -r --accept="*.htm" -nv --show-progress

其中我关闭了 wget 的打印,但保留了对我有用的进度条 ( -nv --show-progress)

这很好用,但会为每个下载的文件输出一个进度条。它是一个可能有一个单一的,将考虑到所有文件的大小之和进度条?

我查看了该progress=TYPE选项,但这似乎只是设置了进度条的样式,而不是下载的数据总量

dar*_*nir 6

不,目前在 Wget 中无法拥有单个聚合条。

但是,您可以尝试Wget 2.0的 alpha 版本。这不完全是您要查找的内容,但非常接近。它在 Debian 中被打包为 Wget2,并且可以在 Arch Linux 的 AUR 上使用。我不确定其他发行版。

wget2默认情况下支持并行下载和 HTTP/2,并且在进度条下有一行显示一些聚合统计信息。例如:

$ wget2 --progress=bar "example.com/?"{0,1,2,3,4,5,6,7,8}
index.html?8         100% [========================================================================================================================>]     606    32,88KB/s
index.html?5         100% [========================================================================================================================>]     606    18,49KB/s
index.html?6         100% [========================================================================================================================>]     606    31,15KB/s
index.html?7         100% [========================================================================================================================>]     606    32,88KB/s
index.html?4         100% [========================================================================================================================>]     606    34,81KB/s
                          [Files: 9  Bytes: 5,33K [11,78KB/s] Redirects: 0  Todo: 0  Errors: 0                                       ]
Run Code Online (Sandbox Code Playgroud)

您会看到 5 个进度条,因为使用 5 个线程并行下载 9 个文件。最后一个条形表示汇总统计数据。

您可以从 git 或使用此处提供的 v1.99 tarball 轻松构建 Wget2:https ://alpha.gnu.org/gnu/wget/wget2-1.99.0.tar.gz

免责声明:我同时维护 GNU Wget 和 Wget2。