Ftp 如何仅解压缩最新文件

Ftp 如何仅解压缩最新文件,ftp,unzip,Ftp,Unzip,我通过以下命令下载每日FTP文件: wget -mN --ftp-user=myuser --ftp-password=mypassword ftp://ftp2.link.com/ -P /home/usr/public_html/folder/folder2 我的文件结构如下: 数据_69111232_2016-01-29.zip 数据_69111232_2016-01-28.zip 数据_69111232_2016-01-27.zip 你能告诉我如何只提取最新下载的文件吗 我通常使用

我通过以下命令下载每日FTP文件:

wget -mN --ftp-user=myuser --ftp-password=mypassword ftp://ftp2.link.com/ -P /home/usr/public_html/folder/folder2
我的文件结构如下:

  • 数据_69111232_2016-01-29.zip
  • 数据_69111232_2016-01-28.zip
  • 数据_69111232_2016-01-27.zip
你能告诉我如何只提取最新下载的文件吗

我通常使用以下命令解压文件,但我不知道应该添加什么来只提取最新的文件

unzip -o /home/user/public_html/folder/folder2/ftp2.directory/????.zip -d /home/user/public_html/folder/folder2/
你的帮助真的很感激


提前感谢

更新答案

我以为你的问题是关于FTP的,但可能是关于找到要解压缩的最新文件

您可以获得如下最新文件:

newest=$(ls -t /home/user/public_html/folder/folder2/ftp2.directory/*zip | head -1)
echo $newest
unzip -o "$newest" ...
lftp -e 'cd path/to/daily/file; ls -lrt; bye' -u user,password host | tail -1
然后看到这样的值:

newest=$(ls -t /home/user/public_html/folder/folder2/ftp2.directory/*zip | head -1)
echo $newest
unzip -o "$newest" ...
lftp -e 'cd path/to/daily/file; ls -lrt; bye' -u user,password host | tail -1
然后像这样使用它:

newest=$(ls -t /home/user/public_html/folder/folder2/ftp2.directory/*zip | head -1)
echo $newest
unzip -o "$newest" ...
lftp -e 'cd path/to/daily/file; ls -lrt; bye' -u user,password host | tail -1
原始答案

您可能可以使用
lftp
将某些内容串在一起。例如,我可以按相反的时间顺序获得列表,最新文件位于底部,如下所示:

newest=$(ls -t /home/user/public_html/folder/folder2/ftp2.directory/*zip | head -1)
echo $newest
unzip -o "$newest" ...
lftp -e 'cd path/to/daily/file; ls -lrt; bye' -u user,password host | tail -1

谢谢你的回答,但我的问题是,我想解压命令只解压新的归档文件,因为我们每天都下载我在问题中提到的文件并保存它们,我想我需要在解压命令中使用正则表达式我又试了一次,请再看一次。嗨,我有另一个问题,你提供的命令是完美的工作,如果我手动执行它们,但当我试图把它们放在shell脚本中,每天自动执行它们不工作,我得到解压找不到我们需要的具体文件。在使用日志文件之前,您能帮我将值回显到日志文件中吗,例如,
latest=$(…);echo$latest>>/tmp/log.txt
通过我使用CentOS的方式:)