Macos OSX中目录的上次修改日期
如何获取终端中目录的最后修改日期?递归:Macos OSX中目录的上次修改日期,macos,shell,Macos,Shell,如何获取终端中目录的最后修改日期?递归: ls -Rlt | head -n 2 | cut -d ' ' -f10-12 非递归: ls -lt | head -n 2 | cut -d ' ' -f10-12 如果您只想获取修改日期(mtime),而不想获取其他信息 stat --printf='%y\n' directory_name 或者,对于从纪元开始的以秒为单位的日期: stat --printf='%Y\n' directory_name 这比涉及ls/cut/grep/a
ls -Rlt | head -n 2 | cut -d ' ' -f10-12
非递归:
ls -lt | head -n 2 | cut -d ' ' -f10-12
如果您只想获取修改日期(mtime),而不想获取其他信息
stat --printf='%y\n' directory_name
或者,对于从纪元开始的以秒为单位的日期:
stat --printf='%Y\n' directory_name
这比涉及ls
/cut
/grep
/awk
/find
等的解决方案更直接、高效和健壮
编辑
上面是在OP在下面的评论中提到这是针对OSX之前发布的
OP使用stat
/date
得出了一个解决方案,我同意这个解决方案,所以我将它添加到这里
首先是stat
stat -f "%m" /path/test.app
要获取目录的mtime,请将其包装为日期
,以获取所需格式
date -j -f "%s" "$(stat -f "%m" /path/test.app)" +"%Y/%m/%d %T"
你能从你的目录中发布ls-ld.的输出吗?不同版本的
ls
在outputdrwx-----@52 userid staff 1768 Apr 17 11中使用不同的日期和时间格式:25@user754905什么操作系统?OSX?尝试--format=%y
,或者查看man 1 stat
如果我只做stat,我会得到以下结果:234881028 33275326 drwxr-xr-x 3 root staff 0 102“Apr 17 12:02:42 2012”“Mar 22 15:05:11”“Apr 17 11:25:37”“Mar 22 15:05:11 2012”4096 0/Users/Users/userid/Library/test/test.app/Yup,OSX。我基本上想得到这个“2012年3月22日15:05:11”或“2012年3月22日”我没有OSX,所以看一看,看看你能不能弄明白。我想应该是这样的stat-f'%m'-t'%b%m%H:%m:%S%Y'dirname
我就是这样做的:date-j-f“%S”“$(stat-f”%m)/path/test.app)+%Y/%m/%d%t
date -j -f "%s" "$(stat -f "%m" /path/test.app)" +"%Y/%m/%d %T"