ฉันมีข้อความ json นี้:
{
"buildStatus" : {
"status" : "ERROR",
"conditions" : [{
"status" : "OK",
"metricKey" : "bugs"
}, {
"status" : "ERROR",
"metricKey" : "test_success_density"
}, {
"status" : "OK",
"metricKey" : "vulnerabilities"
}
],
"periods" : []
}
}
ฉันต้องการที่จะแยกสถานะโดยรวมของ buildStatus คือเอาท์พุทที่คาดหวังคือ "ข้อผิดพลาด"
"buildStatus" : {
"status" : "ERROR",
....
}
ฉันลองใช้นิพจน์ด้านล่าง แต่มันใช้งานไม่ได้ผลตอบแทนOK
:
status= sed -E 's/.*\"buildStatus\":.*\"status\":\"([^\"]*)\",.*/\1/' jsonfile
ผมทำอะไรผิดหรือเปล่า?
jq
:jq -r .buildStatus.status