是否可以拥有两个通配符?如果没有,是否有另一种解决这个问题的方法?
我正在尝试使用Bash以递归方式从ftp服务器获取文件类型。但是,我遇到的麻烦是我试图从多个目录中删除文件。许多这些目录名称将具有匹配的字符串。客户端将查找具有匹配字符串的所有目录,并从每个目录中获取特定的文件类型。每个目录可以包含许多具有相同扩展名的文件。
我试图做的是递归使用wget。
wget -r 'ftp://anonymous:@$HOST/$PATH/$DIRSTRING*/*.$FILEEXT
这给我一条错误消息,指出找不到$ PATH / $ DIRSTRING * /文件或目录。
我知道wget支持globbing。但是,有可能有两张通配符吗?如果没有,是否有另一种解决这个问题的方法?
最好的问候
答案 0 :(得分:1)
wget并不适合这种ftp使用...但lftp非常擅长镜像ftp站点数据,它甚至支持globbing! :) 为你的例子:
lftp -e "mirror -I '$DIRSTRING*/*$FILEEXT' /$RPATH mirrorSite" ftp://anonymous@$HOST
参见man lftp
/ mirror command