2016-02-05 165 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