logging - 如何计算重复的日志条目
问题描述
我想分析一个日志文件并计算重复的日志条目。
我看到了这个答案,但是由于时间戳,每个日志条目都是唯一的。
如果日志条目的格式为
Time stamp: [log message]
如何删除到 [冒号] [空格] 的行首,以便计算它们?我猜一个 sed 命令可能会做到这一点?
[编辑]
可悲的是,这对我的日志部分来说过于简化了。日志示例;
Jun 27 20:39:26 emonpi systemd[1]: Starting Clean php session files...
Jun 27 20:39:26 emonpi systemd[1]: Started Clean php session files.
Jun 27 21:09:25 emonpi systemd[1]: Starting Clean php session files...
Jun 27 21:09:26 emonpi systemd[1]: Started Clean php session files.
其中要搜索的唯一元素将是第一个:
(冒号空格)。
我希望这可以计算日志文件中的每条消息。
解决方案
假设每条日志消息都在方括号内,并且文件的名称是“file.log”,这将为您提供所需的输出:
grep -E -o '\[.+?\].*' file.log | sort | uniq -c
.
对于未来的用例,我建议您熟悉正则表达式。他们非常有帮助。
推荐阅读
- .net - 由 HMAC SHA-1 编码的字节分组的十六进制到按 2 字节分组的十六进制
- excel - 删除重复项时连接单元格(删除第一个逗号)
- c# - 使用 .Net 编译器 Roslyn 为 c# 代码创建控制流图
- scala - 在scala中为for循环之外的变量赋值有什么用
- amazon-ec2 - 在 AWS-ECS 中的新集群上出现“RESOURCE:MEMORY”错误
- java - 使用 MVVM 架构从 FireStore 检索数据
- javascript - JavaScript button next and prev
- database - 如何在 Jmeter 中的线程关闭之前执行示例?
- twitter-bootstrap - 引导导航对齐问题
- android - 为什么我的按钮不显示设置样式?