我在与 SFTP 服务器交互时遇到了一个奇怪的问题。我需要做的是登录,找到满足特定条件的最新文件,然后下载。所有这些都来自 bash 脚本。到目前为止,它的完成方式是简单地运行ls -lt
并获取输出的第一行:
echo "ls -lt" > tmp.sftp
sftp -b tmp.sftp user@ftps.server.com:/inbox 1>sftp.log 2>&1
FILE=$(cat sftp.log | sed -n 3p | awk '{print $NF}')
echo "get $FILE" > tmp.sftp
sftp -b tmp.sftp user@ftps.server.com:/inbox
但是,他们最近开始将其他文件(我不关心)放到同一个文件夹中。我尝试将代码更改为 do ls -lt blah*
,但由于某种原因,当存在通配符过滤器时,文件列表以相反的顺序排序......
我觉得我解决这个问题的方式很荒谬,应该有更好的方法。我看哪个方向?卷曲?得到?谢谢!