比较文件中 JSON 对象的值

比较文件中 JSON 对象的值

我有一个包含数千个 JSON 对象的 JSON 文件,如下所示。我想比较 的st1st2

对于 JSON 文件中的每个对象: 如果st1大于st2,则将该对象复制到另一个文件中。

{
    "in": 4,
    "li": [{
        "fa": 28806,
        "fs": 00002,
        "fb": 21894
    }],
    "ome": {
         "ms": "00000000000"
    },
    "st2": 1508584163,
    "ei": {
        "ev": 0
    },
    "rn": 4,
    "st1": 1508584147
}

我尝试过使用jq,还是使用它更容易,awk即使它是一个 JSON 文件?

答案1

绝对用于jq解析 JSON 数据:

$ cat file.json
{ "st1":0, "st2":10 }
{ "st1":0, "st2":0 }
{ "st1":10, "st2":0 }

$ jq -c 'select(.st1 > .st2)' file.json
{"st1":10,"st2":0}

这可以重定向到另一个文件。

相关内容