Filter jq筛选输出不匹配多个条件

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

我想过滤Cloudwatch输出,使其仅显示CPUUtilization阈值,而不等于70、60和40

下面的过滤器按预期工作,但我想知道是否可以组合
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 ) )