小编use*_*040的帖子

使用sed命令解析json文本的正则表达式

我有这个json文本:

{
    "buildStatus" : {
        "status" : "ERROR",
        "conditions" : [{
                "status" : "OK",
                "metricKey" : "bugs"
            }, {
                "status" : "ERROR",
                "metricKey" : "test_success_density"
            }, {
                "status" : "OK",
                "metricKey" : "vulnerabilities"
            }
        ],
        "periods" : []
    }
}
Run Code Online (Sandbox Code Playgroud)

我想提取buildStatus的整体状态,即预期的输出是“ERROR”

"buildStatus" : {
    "status" : "ERROR",
    ....
}
Run Code Online (Sandbox Code Playgroud)

我尝试了下面的 sed 表达式,但它不起作用,它返回OK

status= sed -E 's/.*\"buildStatus\":.*\"status\":\"([^\"]*)\",.*/\1/' jsonfile
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

command-line regex sed text-processing

15
推荐指数
5
解决办法
3万
查看次数

标签 统计

command-line ×1

regex ×1

sed ×1

text-processing ×1