gpt4 book ai didi

bash - 解析日志文件的最佳方式

转载 作者:行者123 更新时间:2023-11-29 09:34:52 24 4
gpt4 key购买 nike

我有一个看起来像这样的日志文件:

Client connected with ID 8127641241
< multiple lines of unimportant log here>
Client not responding
Total duration: 154.23583
Sent: 14
Received: 9732
Client lost

Client connected with ID 2521598735
< multiple lines of unimportant log here>
Client not responding
Total duration: 12.33792
Sent: 2874
Received: 1244
Client lost

日志包含很多这样的 block ,它们以 Client connected with ID 1234 开始,以 Client lost 结束。他们永远不会混淆(一次只有 1 个客户)。

我将如何解析此文件并生成如下统计信息:

enter image description here

我主要问的是解析过程,不是格式化。

我想我可以遍历所有行,在找到 Client connected 行时设置一个标志并将 ID 保存在变量中。然后 grep 行,保存值,直到找到 Client lost 行。这是一个好方法吗?还有更好的吗?

最佳答案

这是使用 awk 的快速方法:

awk 'BEGIN { print "ID Duration Sent Received" } /^(Client connected|Total duration:|Sent:)/ { printf "%s ", $NF } /^Received:/ { print $NF }' file | column -t

结果:

ID          Duration   Sent  Received
8127641241 154.23583 14 9732
2521598735 12.33792 2874 1244

关于bash - 解析日志文件的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13625915/

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