【问题标题】:How to get the second latest file in a folder in Linux如何在 Linux 中获取文件夹中的第二个最新文件
【发布时间】:2013-05-13 04:08:15
【问题描述】:

找到了几个像this one 这样的帖子来告诉如何在文件夹中找到最新的文件。

我的问题是向前迈了一步,如何在同一文件夹中找到第二个最新文件?目的是我正在寻找一种方法来diff最新的日志和以前的日志,以便知道发生了什么变化。日志是每天生成的。

【问题讨论】:

    标签: linux shell


    【解决方案1】:

    在链接解决方案的基础上,您只需让tail 保留最后一个两个 文件,然后将结果传递给head 以保留其中的第一个:

    ls -Art | tail -n 2 | head -n 1
    

    【讨论】:

      【解决方案2】:

      最后(最近修改)两个文件中的diff

      ls -t | head -n 2 | xargs diff
      

      【讨论】:

        【解决方案3】:

        这是一个基于统计的解决方案(在 linux 上测试)

        for x in ./*; 
        do
        if [[ -f "$x" ]]; then
          stat --printf="%n %Y\n" "$x"; fi;
        done | 
        sort -k2,2 -n -r | 
        sed -n '2{p;q}'
        

        【讨论】:

          【解决方案4】:

          这里的命令返回文件夹中最新的第二个文件

          ls -lt | tail -n 1 | head -n 2
          

          享受...!

          【讨论】:

            【解决方案5】:

            ls -dt {{your file pattern}} | head -n 2 | tail -n 1

            将在您搜索的模式中提供第二个最新文件。

            【讨论】:

              猜你喜欢
              • 2016-02-11
              • 2016-10-25
              • 2017-01-12
              • 1970-01-01
              • 2023-02-22
              • 1970-01-01
              • 1970-01-01
              • 2023-04-09
              相关资源
              最近更新 更多