【发布时间】:2013-05-13 04:08:15
【问题描述】:
找到了几个像this one 这样的帖子来告诉如何在文件夹中找到最新的文件。
我的问题是向前迈了一步,如何在同一文件夹中找到第二个最新文件?目的是我正在寻找一种方法来diff最新的日志和以前的日志,以便知道发生了什么变化。日志是每天生成的。
【问题讨论】:
找到了几个像this one 这样的帖子来告诉如何在文件夹中找到最新的文件。
我的问题是向前迈了一步,如何在同一文件夹中找到第二个最新文件?目的是我正在寻找一种方法来diff最新的日志和以前的日志,以便知道发生了什么变化。日志是每天生成的。
【问题讨论】:
在链接解决方案的基础上,您只需让tail 保留最后一个两个 文件,然后将结果传递给head 以保留其中的第一个:
ls -Art | tail -n 2 | head -n 1
【讨论】:
最后(最近修改)两个文件中的diff:
ls -t | head -n 2 | xargs diff
【讨论】:
这是一个基于统计的解决方案(在 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}'
【讨论】:
这里的命令返回文件夹中最新的第二个文件
ls -lt | tail -n 1 | head -n 2
享受...!
【讨论】:
ls -dt {{your file pattern}} | head -n 2 | tail -n 1
将在您搜索的模式中提供第二个最新文件。
【讨论】: