我一直在尝试找到一种只使用某些文件扩展名的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盒子上打开端口时遇到了问题,因此出现了
我设法连接到一个FTP,而不需要转发端口。
结果(我知道这似乎很明显),您必须为每个扩展指定带有通配符的完整路径
mget $SOURCE_DIR*.csv $SOURCE_DIR*.txt
由空间分隔
此外,如果没有找到一个(或多个)扩展名,则消息"*.txt没有找到文件"将出现标准错误,这导致我无法继续使用完整的脚本