查找和sorting目录

我需要find不超过30天的目录,然后按datesorting(从最新到最旧)。 这是我的命令:

find /tmp/logs/ -maxdepth 1 -mindepth 1 -type d -mtime -30 

问题显然是sorting部分:)

如果只有“很少”的目录,你可以将输出find xarg ls -t ,例如:

 find /tmp/logs/ -maxdepth 1 -mindepth 1 -type d -mtime -30 | xargs ls -td1 

从上面做你的发现,然后在最后使用它:

find -printf "%A@ %f\n" | sort -rn

这告诉find打印时间(以秒为单位)和文件名。 你可以根据时间和地点排序。 把 cut -d" " -f2- ,如果你需要的话可以把时间消除。

 for f in $(find . -maxdepth 1 -mindepth 1 -type d -mtime -30) do echo -n $f " " stat -c %Y $f done 

为您提供修改日期的日志。 排序在秒钟应该是容易的。