Filter jq筛选输出不匹配多个条件
我想过滤Cloudwatch输出,使其仅显示CPUUtilization阈值,而不等于70、60和40 下面的过滤器按预期工作,但我想知道是否可以组合Filter jq筛选输出不匹配多个条件,filter,jq,amazon-cloudwatch,Filter,Jq,Amazon Cloudwatch,我想过滤Cloudwatch输出,使其仅显示CPUUtilization阈值,而不等于70、60和40 下面的过滤器按预期工作,但我想知道是否可以组合select(.Threshold)命令,或者使用其他操作符/命令 jq '.MetricAlarms[]|select(.MetricName == "CPUUtilization")|select(.Threshold != 70)|select(.Threshold != 60)|select(.Threshold != 40)' alarm
select(.Threshold)
命令,或者使用其他操作符/命令
jq '.MetricAlarms[]|select(.MetricName == "CPUUtilization")|select(.Threshold != 70)|select(.Threshold != 60)|select(.Threshold != 40)' alarms.json
如果您的
jq
版本支持,您可以使用它检查变量是否等于多个值,并使用not
对其求反,您可以这样做
.MetricAlarms[]
| select( .MetricName == "CPUUtilization" and (.Threshold | IN(40,60,70) | not ) )