如何根据正则表达式和数学条件过滤日志条目?

时间:2017-10-24 09:15:19

标签: regex bash grep

所以,这是日志条目示例:
bla-bla-bla some data, "valuableParameter":239, bla-bla, other parameters

问题是,如何只获得valuableParameter大于100的日志条目?

所以,我试过了 grep -P '"valuableParameter":/K(/d+)' - 提取值239,不错

(( $(grep -P '"valuableParameter":/K(/d+)') > 100 )) - 失败syntax error in expression (error token is "80

很明显,我很喜欢使用bash和perl regexping,所以任何帮助都会有用。

我应该使用-Po吗? awk

2 个答案:

答案 0 :(得分:1)

Bash中的一行非常简单

grep -oP '"valuableParameter":\K(\d+)' test.txt | while read -r number; do echo "$number" | ((number > 100)) && echo "$number"; done

答案 1 :(得分:1)

使用awk

awk -F',|:' '($3>100){print $3}'