ksh:如何获取所有 "log" 目录按最近的 activity 排序?

ksh: How to get all "log" directories ordered by most recent activity?

我想根据其各自 log 子目录中最近写入的文件订购一组 50 个目录。因此,每个目录都有脚本和日志子目录。我们的想法是,找出哪个代码最活跃,所以我们首先迁移它。

我从类似的东西开始 for dir in $(find . -name log -type d); do printf $dir; ls -lcrt $dir | tail -n 1; done

但这会产生混乱的结果,需要进一步解析才能按日期排序。也许有更简单的方法?

谢谢

这个方法可能不能100%解决你的问题,但是很好用

假设过去2天最多有99个文件,那么

find . -type f -mtime -2 | xargs -n 99 ls -ltr | grep '/log/'

这个命令会找出所有修改时间在过去2天的文件然后做一个ls -ltr排序然后过滤/log/目录

希望对您有所帮助。

更新:由于每个目录有很多文件,第一步是只获取每个目录的最新文件(ls -lh |tail -1;类似的东西),然后迭代它。所以我构建了一个双循环,它不会赢得任何选美比赛,但得到了结果。