代码之家  ›  专栏  ›  技术社区  ›  kashalo

如何仅解压缩最新文件

  •  0
  • kashalo  · 技术社区  · 9 年前

    am通过以下命令下载每日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/
    

    你的帮助真的很感激

    提前感谢

    1 回复  |  直到 9 年前
        1
  •  0
  •   Mark Setchell    9 年前

    更新的答案

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

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

    newest=$(ls -t /home/user/public_html/folder/folder2/ftp2.directory/*zip | head -1)
    

    并看到如下值:

    echo $newest
    

    并像这样使用:

    unzip -o "$newest" ...
    

    原始答案

    你可能可以用 lftp 例如,我可以按时间倒序获得一个列表,最新文件位于底部,如下所示:

    lftp -e 'cd path/to/daily/file; ls -lrt; bye' -u user,password host | tail -1