0

我有一个动态创建的 json 文件。我只想知道“状态”的“错误”部分。有什么简单的方法可以做到这一点?

...
a lot of lines 
...

 "status": {
    "errors": [
      {
        "message": "Input contained no data", 
        "reason": "invalid"
      }
    ], 
    "state": "DONE"
  }
...
a lot of lines
...

我需要在 shell 脚本中使用输出,所以首选 awk。

4

2 回答 2

0

我会用sed这样的方式选择一系列行:

sed -e '/^    "errors\": \[/,/^    ],/!d' file.txt

结果:

    "errors": [
      {
        "message": "Input contained no data", 
        "reason": "invalid"
      }
    ],

如果我误解了您的问题,请考虑添加预期结果。

高温高压

于 2012-05-22T06:06:41.837 回答
0

这可能对您有用:

sed '/^ "status": {/,/^  }$/!d;/^    "errors": \[/,/^    \],/!d' file.txt
于 2012-05-22T06:26:14.357 回答