我实际上是尝试使用SFTP从另一台服务器获取当前日期的所有文件。然而,*
在SFTP中不起作用,所以我看不出我该怎么做......
这是我到目前为止所完成的批次:
#!/bin/sh
today=$(date +%Y%m%d)
lftp<<END_SCRIPT
open sftp://name@server
get $today*
bye
END_SCRIPT
@Martin Prikryl
谢谢,现在工作正常。 在你回答之前我已经搜索了一下,我发现了这个(效率低很多^^):
today=$(date +%Y%m%d)
var=`echo `echo ls -1 | sftp name@domain:dir1/subdir` | sed -n 's/ /\n/gp'|sed -n '/^$today/p'`
lftp<<END_SCRIPT
open sftp://name@server
get $var
bye
END_SCRIPT
答案 0 :(得分:2)
使用mget
代替get
。
请参阅https://lftp.tech/lftp-man.html
获取强>
...
不扩展通配符,请使用mget
...
的 MGET 强>
...
获取具有扩展通配符的选定文件。