我需要从Unix连接到FTP服务器,并下载具有最新日期/时间戳的特定文件。
例如,文件名可能如下所示:FILE_NAME_W5215.ZIP “W5215”部分是日期/时间戳。
如果我尝试在本地获取最新文件,我会做这样的事情:
ls -t FILE_NAME_W*.ZIP | head -1
然而,这在远程服务器上不起作用。
我不知道FTP服务器正在运行什么操作系统。我知道当我建立连接时,当我连接到FTP时,我在Unix上本地执行的很多命令都不起作用。
任何想法,想法和建议都将不胜感激。
答案 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