如何在Linux中获取文件夹中第二新的文件

8

我发现了几篇像这个的帖子,介绍如何在文件夹中找到最新的文件。

我的问题更进一步,如何在同一个文件夹中找到第二新的文件?目的是我正在寻找一种方法来将最新日志与之前的日志进行diff,以了解有哪些变化。这些日志是每天生成的。

5个回答

9

在前面的解决方案的基础上,你只需让 tail 保留最后两个文件,然后通过head 来保留其中的第一个:

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

7

要对最近修改的两个文件执行 diff 操作:

ls -t | head -n 2 | xargs diff

2

ls -dt {{你的文件匹配模式}} | head -n 2 | tail -n 1

将提供你搜索模式中第二新的文件。


1
这是一个基于统计的解决方案(在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}'

-3

这是一个命令,它会返回文件夹中最新的第二个文件

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

enjoy...!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接