Wget 正则表达式无法通过 ftp 获取文件

Wget 正则表达式无法通过 ftp 获取文件

来自网站

ftp://atmos.nmsu.edu/PDS/data/mslrem_1001/DATA/

我想下载.TAB所有太阳以 RMD 结尾且名称为 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 忽略正则表达式并下载所有文件,但我不知道为什么。

答案1

尝试一些更简单的事情:

wget -r -nd -A '*RMD*.TAB' ftp://atmos.nmsu.edu/PDS/data/mslrem_1001/DATA/

答案2

您可以尝试通配符而不是正则表达式。从手册:

‘--no-glob’

关闭 FTP 通配符。通配符是指使用类似 shell 的特殊字符(通配符),如“*”、“?”、‘[’ 和‘]’,一次从同一目录中检索多个文件,例如:

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"

相关内容