我正在寻找一个单一的命令来列出所有文件recursion从一个给定的目录以及修改时间。 如果它能够以树形命令产生的树形格式输出,那也不错。
注:我正在运行红帽企业Linux服务器版本5。
编辑: 树命令的选项-D 只打印过去几年的最后修改时间的date部分,虽然它显示date与当前年份的时间 。 在这里,在这种情况下,我期望在过去的几年中也能够打印date。
我正在寻找一个单一的命令来列出所有文件recursion从一个给定的目录以及修改时间。
$ find /path/to/folder -type f -print0 | xargs -0 ls -l --time-style="+%F %T"
如果它能够以树形命令产生的树形格式输出,那也不错。 在我的情况下,精度达到分钟就足够了。
在我的CentOS上,Gentoo,… -D选项已经在几分钟内显示出来了:
$ tree -D . ├── [Jul 26 14:41] LICENSE ├── [Jul 26 14:41] manifests │ ├── [Oct 10 16:30] defines │ │ └── [Jul 26 14:41] redis source.pp │ └── [Jul 26 14:41] init.pp ├── [Jul 26 14:41] README └── [Jul 26 14:41] templates ├── [Jul 26 14:41] redis.conf.erb └── [Jul 26 14:41] redis-server.erb 3 directories, 6 files
该命令recursion列出给定目录中的所有文件的完整修改时间:
ls -Rl --time-style=long-iso /path/to/directory
ls没有类似tree的输出,但是非常接近。
也许这可能是您的解决scheme的起点:
\tree -nf | awk '{printf $0} {system("stat -c \" [ %y ]\" " $NF )}'| sed -e 's#\([0-9][0-9]:[0-9][0-9]:[0-9][0-9]\).*#\1 ]#g' 2>/dev/null