我希望它递归浏览当前目录(/ data / trac)中的所有内容,并仅列出父项(test,test2,project1),并在其旁边的每个目录中包含最新更新文件的时间戳,并按该时间戳对其进行排序。
这是场景:
$ pwd
$ /data/trac
$ ls -lht
drwxrwxr-x 9 www-data www-data 4.0K Apr 30 2012 test
drwxrwxr-x 9 www-data www-data 4.0K Apr 30 2013 test2
drwxrwxr-x 9 www-data www-data 4.0K Apr 30 2013 project1
$ cd test
$ ls -lht
drwxrwxr-x 2 www-data www-data 4.0K Feb 4 16:12 db
drwxrwxr-x 2 www-data www-data 4.0K Dec 13 13:16 conf
drwxrwxr-x 4 www-data www-data 4.0K Jan 11 2013 attachments
drwxrwxr-x 2 www-data www-data 4.0K Apr 30 2012 templates
我们有一个名为“ test”的目录,该目录的最新更新时间为2012年4月30日。例如,在这种情况下,该目录中有一个db文件夹,其中包含一个文件,该文件的更新时间为2014年2月4日。我想将此日期用作主父文件夹“ test”的时间戳。
我想要做的是仅显示父文件夹( test , test2和project1 ),按上次更新日期对它们进行排序(递归),并显示上次更新日期。
因此输出应为:
$ awesome-list-command
Feb 4 2014 test
Feb 2 2014 test2
我在互联网上搜寻了数小时,试图找到它,甚至对自己一无所获。 我努力了:
find . -exec stat -f "%m" \{} \; | sort -n -r | head -1
find $1 -type f | xargs stat --format '%Y :%y %n' | sort -nr | cut -d: -f2- | head
find /some/dir -printf "%T+\n" | sort -nr | head -n 1
find /some/dir -printf "%TY-%Tm-%Td %TT\n" | sort -nr | head -n 1
stat --printf="%y %n\n" $(ls -tr $(find * -type f))
没有一个有效。