是否可以在wget的ftp目录名中使用通配符?

是否可以在wget的ftp目录名中使用通配符?,ftp,wildcard,wget,Ftp,Wildcard,Wget,如果这个问题已经得到回答,我很抱歉,但是我找不到解决问题的方法 我需要从ftp服务器下载文件,这些文件位于如下结构中: 我尝试使用*作为通配符,但不起作用: wget -r -np -nd --accept='myfile*.ext' ftp://ftp.some.adress/one/*/two/*/three/ 当我尝试这个时,我得到了错误 错误404:找不到 如果我指定目录的确切名称,则不会发生这种情况。如果我把文件下载的整个路径放在没有问题的地方,这就是为什么我猜问题出在*。不用说,

如果这个问题已经得到回答,我很抱歉,但是我找不到解决问题的方法

我需要从ftp服务器下载文件,这些文件位于如下结构中:

我尝试使用*作为通配符,但不起作用:

wget -r -np -nd --accept='myfile*.ext' ftp://ftp.some.adress/one/*/two/*/three/
当我尝试这个时,我得到了错误

错误404:找不到

如果我指定目录的确切名称,则不会发生这种情况。如果我把文件下载的整个路径放在没有问题的地方,这就是为什么我猜问题出在*。不用说,我不想一个接一个地指定名称,因为有许多目录

我还尝试添加了
--glob=on
(因为我不知道我在做什么),但结果是一样的

如果你需要查看ftp,这里是我正在使用的一个。用户:匿名,无密码

这对我很有用:

wget -r -np -nd --accept='prcptot*.nc' ftp://ftp.cccma.ec.gc.ca/data
/climdex/CMIP5/historical/ACCESS1-0/r1i1p1/v1/base_1961-1990/ --glob=on
并且通配符应该位于ACCESS1-0v1的位置,即对这些级别中可用的每个目录执行相同的操作


有没有建议使用其他工具(ftp、lftp或其他工具)来实现这一目标?

没有,您不能在路径中间使用通配符。我甚至不知道有哪一个普通的FTP客户端会支持这一点。是否有可能在没有文件的情况下检索目录结构?所以我可以列出目录/子目录的名称,然后在shell中循环下载它们?不,在FTP协议中,没有文件就无法检索目录结构。您必须列出
/one/
中的所有条目,筛选出子文件夹并迭代它们,等等。谢谢您的回答!它对我有用