【问题标题】:How to find the filename of .gz file created latest in the directory with partial filename如何在具有部分文件名的目录中查找最新创建的 .gz 文件的文件名
【发布时间】:2018-12-03 07:32:03
【问题描述】:

在目录 (/var/log) 中有很多 .gz 文件。我需要获取/查找 .gz 文件的文件名(例如 xyz_.gz、xyz1.gz、xyz2.gz)使用部分文件名为 ("xyz") 的最新时间戳(在目录中新创建的)创建

【问题讨论】:

  • 请在您的帖子中的代码标签中显示一些示例输入和示例输出,以便更好地理解这个问题。
  • 有一个目录 /var/log ,其中包含 /xyz_201806240108.gz , /xyz_201806241803.gz 等文件,我需要找到最后在部分名称以 xyz * 开头的目录中创建的文件,使用蟒蛇

标签: linux file awk find gzip


【解决方案1】:

您可以使用ls -ltr xyz*.gz,并将修改时间最短的gz文件放在列表底部

【讨论】:

    【解决方案2】:

    您可以将 stat 与文件 glob 一起使用:

    $ stat -f "%m%t%N" /var/log/*.gz | sort -rn | head -1 | cut -f2-
    

    %m 是文件时间,%N 是文件名。然后将该模式用于 decorate-sort-undecorate 以找到最新的。

    如果需要,您可以添加sed 以过滤具有正则表达式模式的文件名。

    【讨论】:

    • 我正在使用 ls -t b2* | head -1 但我需要在另一个目录(/var/log)上执行此操作,而不更改不工作的工作目录
    • 你试过stat /var/log/*.gz吗?
    猜你喜欢
    • 1970-01-01
    • 2012-03-07
    • 1970-01-01
    • 1970-01-01
    • 2017-08-21
    • 1970-01-01
    • 2020-07-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多