Bash脚本仅在参数超过特定值时才回显行

时间:2018-05-21 16:32:26

标签: bash shell awk

在日志中包含以下行

queryparam={createdTime=1524456000000,limit=1000, sort=name}
queryparam={createdTime=1524457000000, sort=name,limit=1001}
queryparam={createdTime=1524457000000, sort=name, name=alpha, limit=1001}
queryparam={createdTime=1524458000000, sort=name}

是否有bash脚本只能获取限制大于1000的行?

P.S。不确定如何解析字段以获取限制值并检查它是否大于1000。

1 个答案:

答案 0 :(得分:1)

编辑: 由于OP提到的字段并不总是相同所以现在添加此解决方案。

I

关注awk 'match($0,/limit=[0-9]+/){split(substr($0,RSTART,RLENGTH),array,"=");if(array[2]>1000){print}}' Input_file 可能会对您有所帮助。

awk

它只会查找那些包含字符串awk -F"[=,]" '/limit/ && $5>1000' Input_file 且其值大于limit的行,然后打印它们。

<强> 说明:

1000