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

时间:2015-02-02 16:26:59

标签: unix ftp

我需要从Unix连接到FTP服务器,并下载具有最新日期/时间戳的特定文件。

例如,文件名可能如下所示:FILE_NAME_W5215.ZIP “W5215”部分是日期/时间戳。

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

ls -t FILE_NAME_W*.ZIP | head -1 

然而,这在远程服务器上不起作用。

我不知道FTP服务器正在运行什么操作系统。我知道当我建立连接时,当我连接到FTP时,我在Unix上本地执行的很多命令都不起作用。

任何想法,想法和建议都将不胜感激。

1 个答案:

答案 0 :(得分:1)

您可以这样做:

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

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

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

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

注意:在ls文件列表中,filename从第57个位置开始,必要时进行更改

现在从ftp服务器获取该特定文件名

ftp -n $SERVER<<EOF
user $USER $PASSWORD
get $filename
quit
EOF