我正在尝试设置一个警报,指出以下JSON对象状态何时显示但未启动。我开始玩条件jq,但我不确定如何将regex实现到此。
{
"page": 0,
"page_size": 100,
"total_pages": 10,
"total_rows": 929,
"headers": [
"*"
],
"rows": [
{
"id": "168",
"state": "STARTED"
},
{
"id": "169",
"state": "FAILED"
},
{
"id": "170",
"state": "STARTED"
}
]
}
我只想显示失败对象的id和状态,这就是我试过的
jq '.rows[] | .id, select(.state | contains("!STARTED"))' test.json
我希望我的输出类似于
{
"id": "169",
"state": "FAILED"
}
答案 0 :(得分:1)
如果您只想打印出.state不是" STARTED"的对象,只需使用否定:
.rows[] | select(.state != "STARTED")
如果"开始" state与多个值相关联,请提供更多详细信息。可能没有必要使用正则表达式。如果您确实需要使用正则表达式,那么您可能希望使用test
。