获取文件夹(或子文件/文件夹)的最后修改日期和时间
问题描述:
是否可以获取文件夹的修改日期和时间?
我知道你可以使用stat -f "%m" folder
,但它并不反映子文件/文件夹的变化。获取文件夹(或子文件/文件夹)的最后修改日期和时间
的事情,不工作:
-
ls -l folder
- 并不能反映文件夹内的变化 -
stat -f "%m" folder
- 同上 -
date -r folder
- 同样再次 -
find foo bar baz -printf
- 在printf
选项在我的版本上找不到
版本:
- 操作系统:Mac OS X 10.7.1
- 击:GNU的bash,版本3.2.48(1)-release下(x86_64-苹果darwin11)
答
解决方案:
find . -exec stat -f "%m" \{} \; | sort -n -r | head -1
说明:
- 的
find
命令遍历当前目录(.
)和每个文件中遇到的执行(-exec
)命令stat -f "%m"
。stat -f "%m"
打印文件的最后修改时间戳。 -
sort -n -r
排序find
命令的以相反的顺序(-r
)输出数值(-n
)。这将首先列出最新的修改时间戳。 -
head -1
然后从sort
中提取第一行输出。这是所有文件的最新修改unix时间戳。
答
你可以尝试“日期-r文件夹”,给你一个最后修改日期
试试这里列出的答案:http://stackoverflow.com/questions/4997242/in-linux-terminal-how-do-i-show-the-folders-last-modification-date-taking-它的 – Mohammad
没有,它们的工作原理是'printf'选项没有在Mac OS X的'find'中实现10.7.1 – Tyilo
您是否正在寻找特定目录中最近修改过的文件或目录?你想如何递归? –