ksh: 如何获得所有 "日志 "目录按最近的活动排序?

问题描述 投票:0回答:1

我想根据最近写的文件在其各自的 log tail -1; something like that), and iterate over that. So I built a double for loop, which won't win any beauty contest, but got me the results. 所以,每个目录都有脚本和一个日志子目录。我们的想法是,找出哪些代码是最活跃的,所以我们先迁移它。

我从以下几个方面入手 for dir in $(find . -name log -type d); do printf $dir; ls -lcrt $dir | tail -n 1; done

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

谢谢

  • 更新:由于每个目录有很多文件,第一步将是获得每个目录的最新文件,并在此基础上进行迭代.所以我建立了一个双for循环,做到了这一点。
find ksh ls
1个回答
0
投票

这个方法可能不能100%解决你的问题,但它很容易使用。

假设在过去的2天里最多有99个文件,则

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

这个命令会找到过去2天内所有修改时间的文件,然后进行ls -ltr排序,然后过滤日志目录。

希望能帮上一点忙。


0
投票

更新:因为每个目录有很多文件,所以第一步是只获取每个目录中最新的文件(ls -lh

© www.soinside.com 2019 - 2024. All rights reserved.