我需要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
为您提供修改日期的日志。 排序在秒钟应该是容易的。