Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos OSX中目录的上次修改日期_Macos_Shell - Fatal编程技术网

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"