Unix FTP 连接根据时间戳获取文件

Unix FTP connection get file based on time stamp

我需要从 Unix 连接到 FTP 服务器,并下载具有最新 date/time 标记的特定文件。

例如,文件名可能如下所示:FILE_NAME_W5215.ZIP "W5215" 部分是 date/time 邮票。

如果我要尝试在本地获取最新文件,我会这样做:

ls -t FILE_NAME_W*.ZIP | head -1 

但是这在远程服务器上不起作用。

我不知道 OS FTP 服务器 运行 在什么上。我知道当我建立连接时,当我连接到 FTP.

时,我可以在 Unix 上本地执行的许多命令都不起作用

如有任何想法、想法和建议,我们将不胜感激。

你可以这样做:

在临时文件中获取 ftp 服务器上的文件列表

ftp -n $SERVER >tempfile <<EOF
user $USER $PASSWORD
ls -t
quit
EOF

从列表中获取最新的文件名

filename=`cut -c57- tempfile|head -1` 

注意:在ls文件列表中,文件名是从第57位开始的,如果有需要可以更改

现在从 ftp 服务器

获取特定文件名
ftp -n $SERVER<<EOF
user $USER $PASSWORD
get $filename
quit
EOF