您如何使用 wget 下载站点上的最新文件?

How do you use wget to download most up to date file on a site?

您好,我正在尝试使用 wget 下载最新的 McAfee 补丁,但我在选择 .tar 文件时遇到问题。这是我的:

wget -q -O - ftp://ftp.mcafee.com/pub/antivirus/datfiles/4.x/ | grep -o -m 2 "avvdat-[^\']*"

然而当我运行上面的命令时它给了我:

avvdat-8065.tar">avvdat-8065.tar</a>  (95191040 bytes)
avvdat-8066.tar">avvdat-8066.tar</a>  (95385600 bytes)

当我需要它时,它只是 <a> </a> 之间最 recent.tar 的文件,在本例中是 avvdat-8066.tar。有人可以帮我 greping 正确的 .tar 我对正则表达式或 sed 不太好。

我建议修改您的 grep 正则表达式,使其仅检索文件名,然后使用 sort 对结果进行排序,并使用 tail 丢弃除最后一个以外的所有结果。

wget -q -O - ftp://ftp.mcafee.com/pub/antivirus/datfiles/4.x/ | grep -o -m 2 "avvdat-[^\'\"]*" | sort | tail -1

试试这个,

wget $(wget -q -O - ftp://ftp.mcafee.com/pub/antivirus/datfiles/4.x/ | grep -Eo "ftp://[^\"\]+" | sort | tail -n1)