【发布时间】:2012-04-17 19:36:15
【问题描述】:
如何在终端中获取目录的最后修改日期?
【问题讨论】:
-
你能从你的目录中发布
ls -ld .的输出吗?不同版本的ls在输出中使用不同的日期和时间格式 -
drwx-----@ 52 userid 员工 1768 Apr 17 11:25
如何在终端中获取目录的最后修改日期?
【问题讨论】:
ls -ld . 的输出吗?不同版本的ls 在输出中使用不同的日期和时间格式
如果你只想获取修改日期(mtime)而不是别的
stat --printf='%y\n' directory_name
或者,对于自纪元以来的日期,以秒为单位:
stat --printf='%Y\n' directory_name
这比涉及ls/cut/grep/awk/find 等的解决方案更直接、高效和稳健
编辑
以上内容是在 OP 在下面的 cmets 中提到这是针对 OSX 之前发布的。
OP 使用stat/date 得出了一个解决方案,我同意该解决方案,所以我在此处添加它。
首先是stat
stat -f "%m" /path/test.app
获取目录的 mtime,然后将其包装在 date 中以获取所需格式
date -j -f "%s" "$(stat -f "%m" /path/test.app)" +"%Y/%m/%d %T"
【讨论】:
--format=%y,或者看看man 1 stat
stat -f '%m' -t '%b %m %H:%M:%S %Y' dirname
ls -lcdoq your_directory | awk '{print $5" "$6}'
【讨论】:
递归:
ls -Rlt | head -n 2 | cut -d ' ' -f10-12
非递归:
ls -lt | head -n 2 | cut -d ' ' -f10-12
【讨论】: