Regular-Expression
Wget 正則表達式無法通過 ftp 獲取文件
從網站
<ftp://atmos.nmsu.edu/PDS/data/mslrem_1001/DATA/>
我想下載
.TAB
所有以 RMD 結尾的文件。為此,我嘗試了以下命令:wget -r -nd --accept-regex '.*(RMD)\d+\_+[A-Z][0-9]\.(TAB)' ftp://atmos.nmsu.edu/PDS/data/mslrem_1001/DATA/SOL_00001_00089/SOL00010/
網址不同只是為了嘗試。問題是 wget 忽略了正則表達式並下載了所有文件,但我不知道為什麼。
嘗試更簡單的方法:
wget -r -nd -A '*RMD*.TAB' ftp://atmos.nmsu.edu/PDS/data/mslrem_1001/DATA/
您可以嘗試使用萬用字元代替正則表達式。從手冊:
‘--no-glob’
關閉 FTP 萬用字元。萬用字元是指使用類似於 shell 的特殊字元(萬用字元),如 ‘*’、’?’、’
$$ ’ and ‘ $$’ 一次從同一目錄中檢索多個文件,例如:
wget ftp://gnjilux.srk.fer.hr/*.msg
預設情況下,如果 URL 包含萬用字元,通配將打開。此選項可用於永久打開或關閉通配。
您可能必須引用 URL 以保護它不被您的 shell 擴展。Globbing 使 Wget 查找特定於系統的目錄列表。這就是為什麼它目前僅適用於 Unix FTP 伺服器(以及那些模擬 Unix ls 輸出的伺服器)。
例子:
wget -r -nd "ftp://atmos.nmsu.edu/PDS/data/mslrem_1001/DATA/*.TAB"