【发布时间】:2011-11-02 10:15:04
【问题描述】:
是否可以获取文件夹的修改日期和时间?
我知道您可以使用stat -f "%m" folder,但它不会反映子文件/文件夹的更改。
不起作用的事情:
-
ls -l folder- 不反映文件夹内的变化 -
stat -f "%m" folder- 同上 -
date -r folder- 又是一样 -
find foo bar baz -printf- 我的 find 版本中不存在printf选项
事物的版本:
- 操作系统:Mac OS X 10.7.1
- Bash:GNU bash,版本 3.2.48(1)-release (x86_64-apple-darwin11)
【问题讨论】:
-
试试这里列出的答案:stackoverflow.com/questions/4997242/…
-
无,它们都作为
printf选项在Mac OS X 10.7.1 的find中未实现 -
您是否在特定目录中查找最近修改的文件或目录?你想得到多递归?
-
相对于 BSD 风格,我更熟悉 GNU/Linux 方面。
find -printf通常很有用,但缺少ls -lRt | head -n 1(-t用于 mtime 排序,-R用于递归列表) -
@Tyilo 是的,你是对的。
ls无论如何都不是最好的方法。也许像find -execdir stat -f '%m %N' \{} \; | sort -nr | head -n 1这样的东西来代替find -printf。此示例仍需要添加空终止符以正确处理所有文件名,但总体思路应该可行。