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

时间:2013-05-17 21:44:24

标签: linux shell

找到了几个帖子,比如this one,告诉我们如何找到文件夹中的最新文件。

我的问题是前进了一步,如何在同一个文件夹中找到第二个最新文件?目的是我正在寻找一种方法diff使用以前的日志记录最新日志,以便了解已更改的内容。日志是每天生成的。

5 个答案:

答案 0 :(得分:5)

要完成最后一个(最近修改过的)两个文件的diff

ls -t | head -n 2 | xargs diff

答案 1 :(得分:4)

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

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

答案 2 :(得分: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 :(得分:0)

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

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

答案 4 :(得分:-1)

这是命令返回文件夹

中的最新第二个文件
ls -lt | tail -n 1 | head -n 2

享受...!