我有这个json文本:
{
"buildStatus" : {
"status" : "ERROR",
"conditions" : [{
"status" : "OK",
"metricKey" : "bugs"
}, {
"status" : "ERROR",
"metricKey" : "test_success_density"
}, {
"status" : "OK",
"metricKey" : "vulnerabilities"
}
],
"periods" : []
}
}
我想提取buildStatus的总体状态,即预期的输出为“ ERROR”
"buildStatus" : {
"status" : "ERROR",
....
}
我在下面尝试了sed表达式,但是它不起作用,它返回OK
:
status= sed -E 's/.*\"buildStatus\":.*\"status\":\"([^\"]*)\",.*/\1/' jsonfile
我究竟做错了什么?
jq
:jq -r .buildStatus.status