嗨,我遵循下面的逻辑从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])./-01./g' | sort -r | sed 's/-0([1-9])./-1./g' | head -1
在此代码中,mget my_data*csv
将首先执行,其输出将作为参数提供给sed
:
mget my_data*csv | sed 's/-([1-9])./-01./g' | sort -r | sed 's/-0([1-9])./-1./g' | head -1
你只需要先得到你想要的文件名,然后做mget filename
。