我有這種格式的日志。我只希望獲得計數超過 5000 的日志。
匹配模式應為 Count [值大于 5000]
INFO 56783 Count [5987]
INFO 67988 Count [4986]
INFO 27679 Count [9865]
在上面的例子中,輸出應該只有
INFO 56783 Count [5987]
我正在使用以下格式
sudo cat <path to log> | grep 'Count [5[0-9][0-9][0-9]]'
任何想法這里缺少什么
uj5u.com熱心網友回復:
你可以使用這個grep:
grep -E 'Count \[[5-9][0-9]{3,}\]' file
INFO Count [5987]
INFO Count [9865]
這里的正則運算式模式\[[5-9][0-9]{3,}\]匹配:
\[: 比賽開場[[5-9]: 匹配到之間5的數字9[0-9]{3,}: 匹配 3 個或更多數字\]: 比賽結束]
這將匹配5000或大于5000inside的整數[...]。
但是,您應該使用awk這項作業來獲得最大的靈活性:
awk '$2 == "Count" && gsub(/[][]/, "", $3) && $3 0 > 5000' file
INFO Count 5987
INFO Count 9865
uj5u.com熱心網友回復:
您可以使用
awk -F'[][]' '/Count \[[0-9] ]/ && $2 > 5000' file
欄位分隔符匹配]或[僅/Count \[[0-9] ]/ && $2 > 5000輸出包含Count [<number>]欄位 2 大于 5K 的行。
查看在線演示:
#!/bin/bash
s='INFO Count [5987]
INFO Count [4986]
INFO Count [9865] '
awk -F'[][]' '/Count \[[0-9] ]/ && $2 > 5000' <<< "$s"
輸出:
INFO Count [5987]
INFO Count [9865]
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/438705.html
上一篇:確定perl腳本中的值是否為數字
下一篇:JSP服務器錯誤頁面的動態內容
