1

可以有两个通配符吗?如果没有,是否有另一种方法来解决这个问题?

我正在尝试使用 Bash 从 ftp 服务器递归获取文件类型。但是,我遇到的问题是我试图从多个目录中删除文件。其中许多目录名称将具有匹配的字符串。客户端将查找具有匹配字符串的所有目录,并从每个目录中获取特定的文件类型。每个目录可以有许多具有相同扩展名的文件。

我试图做的是递归使用 wget 。

wget -r 'ftp://anonymous:@$HOST/$PATH/$DIRSTRING*/*.$FILEEXT

这给了我一条错误消息,指出找不到 $PATH/$DIRSTRING*/ 文件或目录。

我知道 wget 支持通配符。但是,是否可以有两个通配符?如果没有,是否有另一种方法来解决这个问题?

此致

4

1 回答 1

0

wget 不太适合这种 ftp 用法……但 lftp 非常擅长镜像 ftp 站点数据,它甚至支持 globbing!:) 对于您的示例:

lftp -e "mirror -I '$DIRSTRING*/*$FILEEXT' /$RPATH mirrorSite" ftp://anonymous@$HOST

查看man lftp/镜像命令

于 2013-07-19T18:57:21.757 回答