我试图找到,保存和比较"最后一次更改" 2个不同目录中文件的日期时间,并确定哪个目录有最新更改。
我走到这一步:
find ./map -type f -print0 | xargs -0 stat -f "%Sm"
这将打印所有"最后更改日期"目录中的文件。
输出看起来像这样:
Oct 5 12:07:59 2015
Aug 27 12:40:29 2015
Aug 27 12:40:42 2015
Aug 27 12:40:42 2015
Aug 27 12:40:40 2015
Aug 27 12:40:37 2015
Aug 27 12:40:35 2015
Aug 27 12:40:33 2015
我需要对它们进行排序,取最后一个,再对另一个目录做同样的事情,然后比较输出以找出哪一个是最新的。
我不知道如何对这些输出进行排序,因为它们必须按年份排序,然后按月,日......排序 而且我也不知道如何将这些值转换为我可以在bash脚本中进行比较的内容......
有什么想法吗?
答案 0 :(得分:0)
首先尝试通过sort
管道传输数据:
find /map -type f -print0 | sort | xargs -0 stat -f "%Sm"
答案 1 :(得分:0)
我正在努力......弄清楚哪个目录有最新的变化。
为什么不让ls
完成这项工作?
/bin/ls -t `find map mop -type f` | head -1
假设您的两个目录是map
和mop
,这会按时间对其中的文件进行排序并输出第一个,即i。即最新。拿dirname
,你就拥有了你想要的东西。