2016-02-05 32 views
0

您好,我正在尝试使用wget下载最新的McAfee更新补丁,并且我遇到了单挑.tar文件的问题。这是我有:如何使用wget在网站上下载最新的文件?

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。有人可以请帮我出来正确的.tar我用正则表达式或sed不太好。

+0

所有当我运行该命令是我得到:'avvdat-8066.tar“> avvdat-8066.tar(95385600个字节)'作为事实上,通过'ftp'查看它,只有'avvdat-8066.tar'在该位置。 – user3439894

回答

0

试试这个,

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

我建议修改你的grep正则表达式,以便它只检索文件名,然后使用排序来排序结果和尾部放弃除最后一个之外的所有内容。

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