如何在Linux中使用MGET将最新的文件从SFTP服务器获取到本地?
嗨,我遵循以下逻辑以从SFTP服务器获取最新文件。但是它正在复制所有文件。请帮助我在逻辑上需要更正的内容?
datadir="********"
cd ${datadir}
rm -f ${datadir}/my_data*.csv
rm -f ${logfile}
lftp<<END_SCRIPT
open sftp://${sftphost}
user ${sftpuser} ${sftppassword}
cd ${sftpfolder}
lcd $datadir
mget my_data*csv | sed 's/-\([1-9]\)\./-0\1\./g' | sort -r | sed 's/-0\([1-9]\)\./-\1\./g' | head -1
Hi I am following below logic to get the latest file from sftp server. But it is copying all the files. Please help what I need to correct in my logic?
datadir="********"
cd ${datadir}
rm -f ${datadir}/my_data*.csv
rm -f ${logfile}
lftp<<END_SCRIPT
open sftp://${sftphost}
user ${sftpuser} ${sftppassword}
cd ${sftpfolder}
lcd $datadir
mget my_data*csv | sed 's/-\([1-9]\)\./-0\1\./g' | sort -r | sed 's/-0\([1-9]\)\./-\1\./g' | head -1
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在此代码中,
mget my_data*csv
将首先执行,其输出将作为参数提供给sed
:您只需要先获取所需的文件名,然后执行
mget fileName
。In this code,
mget my_data*csv
will execute first, and its output will be provided tosed
as a parameter:You just need to get the filename you want first and then do the
mget filename
.