Linux SFTP获取上次创建/修改的文件

Linux SFTP获取上次创建/修改的文件,linux,terminal,ftp,sftp,Linux,Terminal,Ftp,Sftp,我通过sftp连接连接到服务器。我应该得到两个文件:上次创建/修改的*.sql和*.bkp文件 我试过类似的方法 ls-t>>文件列表 然后下载到我当地的mashine get list_of_files cat list_of_files | grep *sql | head -1 >> sql_filename cat list_of_files | grep *sql | head -1 >> bkp_filename ls-t>>文件列表输出 无法找到ls

我通过sftp连接连接到服务器。我应该得到两个文件:上次创建/修改的*.sql和*.bkp文件

我试过类似的方法
ls-t>>文件列表
然后下载到我当地的mashine

 get list_of_files
 cat list_of_files | grep *sql | head -1 >> sql_filename
 cat list_of_files | grep *sql | head -1 >> bkp_filename
ls-t>>文件列表
输出
无法找到ls:“路径”

现在我得到了这两个文件的名称,如何从sftp服务器中获得它

我怎样才能使它正确呢?

试试这个

ssh user@IP 'file=`ls -t| tail -n 1`; scp $file userlocal@IP://current_dir'

首先使用ssh获取文件列表:
sshuser@serverls-t path/to/files/
,您甚至可以将其添加到grep和head中,以便它只返回您需要的文件。i、 e.
sshuser@serverls-t/path/to/files/|grep\*.sql | head-1>>sql_文件名
注意:转义*以防止本地bash扩展它,因此它会完整地传递到远程grep。但是如何使用sftp?@Cwissy,当我键入
ssh l时,我得到一个空的sql\u文件名-one@localhostls-tl Desktop/l | grep\*.sql | head-1>>sql|u文件名
试一试,因此,首先尝试
ssh l-one@localhostls-tl Desktop/l
确保您获得目录列表,然后添加
|grep\*.sql
以仅过滤sql文件并确保您继续获得输出,然后使用
head-1
部分仅获取您感兴趣的文件如果使用非交互式身份验证方法,则自动检索文件;否则,它将在交互身份验证成功后执行此操作。so,
sftp l-one@localhost:Desktop/l/$filename
应检索文件,而此代码可能会回答问题,提供有关其回答问题的原因和/或方式的附加上下文将显著提高其长期价值。请在您的回答中添加一些解释。