我很抱歉,如果已经回答了这个问题,但我无法找到解决问题的方法。
我需要从ftp服务器下载文件,这些文件位于如下所示的结构中:
ftp://ftp.some.adress/one/first_wildcard/two/second_wildcard/three/
我尝试使用*作为通配符,但它不起作用:
wget -r -np -nd --accept='myfile*.ext' ftp://ftp.some.adress/one/*/two/*/three/
当我尝试这个时,我收到了错误
错误404:未找到。
如果我指定目录的确切名称,则不会发生这种情况。如果我把文件的整个路径下载没有问题,这就是为什么我猜测问题在*中。毋庸置疑,我不想逐个指定名称,因为目录很多。
我也尝试添加--glob=on
(因为我不知道我在做什么),但结果是一样的。
如果您需要查看ftp,请访问我正在使用的人。用户:匿名,无密码。
ftp://ftp.cccma.ec.gc.ca/data/climdex/CMIP5/historical/
这对我有用:
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-0 和 v1 ,即为这些级别中的每个目录执行相同的操作。
有任何建议可以使用其他工具(ftp,lftp,还有别的东西)来完成这项工作或实现相同的目标吗?