我认为您所追求的是:
find . -name '*.*' -exec stat -f "%10z %Sm %N" {} +
我在我的一个目录中将其作为输出的一部分:
534 Mar 2 20:17:16 2013 ./so.6964747
835 Mar 2 20:17:16 2013 ./so.6965001
25048 Jun 25 21:29:46 2012 ./so.8854855.sql
7710 Feb 13 07:17:01 2013 ./sortAtt.c
1565 Sep 4 19:15:30 2010 ./strandsort.c
7224 Sep 22 13:42:17 2012 ./streplace.c
3033 Jan 28 23:16:46 2013 ./substr.c
139 Mar 20 12:48:24 2013 ./sum.sh
6833 Sep 21 07:57:53 2012 ./timezeromoves.c
614 Feb 21 09:23:00 2013 ./travAsm.c
347 Feb 21 09:23:00 2013 ./traverse.c
1277 Jul 26 09:30:12 2012 ./uint128.c
793 Aug 19 00:47:48 2012 ./unwrap.c
1906 Jul 28 08:41:22 2012 ./xxx.sql
1904 Sep 22 21:30:09 2011 ./yyy.sql
阅读选项可能会告诉您如何从“修改时间的字符串格式”(%Sm
)中删除时间。
只是为了记录,这是/usr/bin/stat
在 Mac OS X 10.7.5 上使用的,而不是 GNU stat
。您将需要仔细检查那里可用的内容。
find . -name '*.*' -exec /usr/gnu/bin/stat --format "%s %y %N"
输出的相同部分是:
534 2013-03-02 20:17:16.000000000 -0800 ./so.6964747
835 2013-03-02 20:17:16.000000000 -0800 ./so.6965001
25048 2012-06-25 21:29:46.000000000 -0700 ./so.8854855.sql
7710 2013-02-13 07:17:01.000000000 -0800 ./sortAtt.c
1565 2010-09-04 19:15:30.000000000 -0700 ./strandsort.c
7224 2012-09-22 13:42:17.000000000 -0700 ./streplace.c
3033 2013-01-28 23:16:46.000000000 -0800 ./substr.c
139 2013-03-20 12:48:24.000000000 -0700 ./sum.sh
6833 2012-09-21 07:57:53.000000000 -0700 ./timezeromoves.c
614 2013-02-21 09:23:00.000000000 -0800 ./travAsm.c
347 2013-02-21 09:23:00.000000000 -0800 ./traverse.c
1277 2012-07-26 09:30:12.000000000 -0700 ./uint128.c
793 2012-08-19 00:47:48.000000000 -0700 ./unwrap.c
1906 2012-07-28 08:41:22.000000000 -0700 ./xxx.sql
1904 2011-09-22 21:30:09.000000000 -0700 ./yyy.sql