gpt4 book ai didi

linux - 从日志文件中计算具有匹配模式的行

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:00:19 24 4
gpt4 key购买 nike

我的 abc.log 包含以下条目(片段):

...
INFO #my-service# #add# id=67986324423 isTrial=true
INFO #my-service# #add# id=43536343643 isTrial=false
INFO #my-service# #add# id=43634636365 isTrial=true
INFO #my-service# #add# id=67986324423 isTrial=true
INFO #my-service# #delete# id=43634636365 isTrial=true
INFO #my-service# #delete# id=56543435355 isTrial=false
...

我想计算具有唯一 ID 且其中包含 #add# 属性并具有 isTrial=true 的行数。

对于上面的代码片段,输出应该是 2

任何人都可以提供我可以针对上述日志文件运行的 linux 命令吗?

最佳答案

仅使用 awk:

# Count unique line
$ awk '$3~"add"&&$5~"true"&&!u[$4]++{++c}END{print c}' file
2

# Print unique lines
$ awk '$3~"add"&&$5~"true"&&!u[$4]++' file
INFO #my-service# #add# id=67986324423 isTrial=true
INFO #my-service# #add# id=43634636365 isTrial=true

或者只是sortgrep

$ sort -uk4,4 file | grep "#add#.*true" 
INFO #my-service# #add# id=67986324423 isTrial=true
INFO #my-service# #add# id=43634636365 isTrial=true

$ sort -uk4,4 file | grep -c "#add#.*true"
2

关于linux - 从日志文件中计算具有匹配模式的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14266152/

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