0

我一直在尝试找到一种mget仅与某些文件扩展名一起使用的方法。

我使用了以下命令(如果我离开就可以了*.csv

lftp -e "set xfer:clobber true;mget $SOURCE_DIR*.{csv,txt,xls,xlsx,zip,rar};exit" -u $SOURCE_USERNAME,$SOURCE_PASSWORD $SOURCE_SERVER || exit 0

但没有运气,我收到消息dir/*.{csv,txt,xls,xlsx,zip,rar} no files found

尝试添加括号

lftp -e "set xfer:clobber true;mget $SOURCE_DIR(*.{csv,txt,xls,xlsx,zip,rar});exit" -u $SOURCE_USERNAME,$SOURCE_PASSWORD $SOURCE_SERVER || exit 0

也没有运气

$SOURCE_DIR/最后已经有一个斜线

我尝试在本地测试 lftp,但在我的 Vagrant 盒子上打开端口时遇到问题,因此问题

4

1 回答 1

0

我设法连接到一个 FTP 而无需转发端口。

结果(我知道这似乎很明显)您必须为每个扩展名指定带有通配符的完整路径

mget $SOURCE_DIR*.csv $SOURCE_DIR*.txt

用空格隔开

此外,如果未找到一个(或多个)扩展名,则消息“*.txt no files found”将出现标准错误,这导致我无法继续执行完整脚本

于 2016-04-19T10:08:14.690 回答