我正在尝试设置警报,当以下 JSON 对象状态说什么但已启动时。我开始玩条件jq,但我不确定如何将正则表达式实现到其中。
{
"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"
}
如果你只是想打印出 .state 不是 "STARTED" 的对象,只需使用否定:
.rows[] | select(.state != "STARTED")
如果"已启动"状态与多个值相关联,请提供更多详细信息。可能不需要使用正则表达式。 如果您确实需要使用正则表达式,那么您可能希望使用 test
.