Wget 高级用法

Wget 高级用法

我有大约 200 个服务器的列表,其中包含指向单个文件的链接,对于这个问题,我们假设它们是 .txt 文件。我需要下载每个文件,但是有些服务器只有压缩版本,没有原始版本,而有些服务器则两者都有,使用的压缩是 bzip2。

这意味着服务器可能拥有以下文件;

foo.txt.bz2
bar.txt
bar.txt.bz2

我已经告诉 wget 只下载 .txt 文件和 .txt.bz2 文件,并使用 no-clobber 来防止从每个服务器下载相同的文件。但是,一旦下载了压缩文件,它就会被解压;原始文件会保留,但 bz2 文件不会保留。这意味着 wget 会从每个服务器下载相同的 bz2 文件,因为它本地没有压缩版本。

我如何告诉 wget不是当已经有解压版本时下载 .bz2 文件(例如,如果 foo.txt 已经存在,则不要下载 foo.txt.bz2)。

谢谢

答案1

我会用wget这种方式链接命令:

wget http://example.com foo.txt || wget http://example.com/foo.txt.bz2 && bzip -d foo.txt.bz2

bzip -d只有 wget 成功后,该命令才会解压档案。

相关内容