gpt4 book ai didi

linux - 如何使用bash脚本捕获运行日志? [结案]

转载 作者:太空宇宙 更新时间:2023-11-04 12:50:46 27 4
gpt4 key购买 nike

我是 bash 脚本的新手。关于使用 bash 脚本捕获日志文件,我想知道一些事情。

假设有一台服务器每小时存储一次日志文件,格式文件如下。

file[20160509_130000].log

日志文件有这样的详细信息。

13:00:00 INFO  [file.chdev130] Event: ADIEVN_PLAY_DONE, Finished  , nbytes=16360
13:00:00 INFO [file.chdev39] adiCollectDigits() success

我的问题是如何使用 bash 脚本读取和存储运行日志或一小时前将特定参数(例如“事件”)获取到新文件?

有人可以教我怎么做吗?谢谢。

更新这是我想要的流程(这次我想知道第一点是如何工作的):

  1. 获取运行日志或一小时前。
  2. 阅读 15 分钟间隔 (13:00:00 - 13:15:00)。
  3. grep 该时间间隔内的参数(例如“事件”)。
  4. 计算参数。
  5. 将其存储到另一个文件。

已解决

这里是解决方案,以备不时之需。

  1. 使用 ls -t 根据时间戳列出所有内容,然后将其通过管道传输
  2. 使用 grep -v ^d(我仍然不知道 ^d 的确切解释),再次管道
  3. head显示前几行

所以结果是,

ls -t *.log | grep -v ^d | head -1 (for display the running log)
ls -t *.log | grep -v ^d | head -2 | tail -1 (for display the one log before the running log)

希望对您有所帮助。谢谢

== 结案 ==

最佳答案

tail -f/path-to-logfile 将允许您连续读取文件,直到您取消 tail 执行。
grep "^13:"/path-to-logfile 将显示文件中的所有字符串,从“13:”开始,在我们的例子中,您将获得第 13 小时的每条记录.
grep "Event"/path-to-logfile 将向您显示其中包含“Event”的所有字符串,我想您已经对 grep 有所了解了。 )

关于linux - 如何使用bash脚本捕获运行日志? [结案],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37246899/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com