0

動的に作成されたjsonファイルがあります。「ステータス」の「エラー」の部分だけ知りたい。そうする簡単な方法はありますか?

...
a lot of lines 
...

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

シェルスクリプトで出力を使用する必要があるため、awk が優先されます。

4

2 に答える 2

0

sed次のような行の範囲を選択するために使用します。

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

結果:

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

あなたの質問を誤解している場合は、期待される結果を追加することを検討してください。

HTH

于 2012-05-22T06:06:41.837 に答える
0

これはあなたのために働くかもしれません:

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