行の長さが異なる test.json ファイルがあります。いくつかの仮想例:
{ "a" : 123, "b": "sd", "c": 45, "d": 1, "e": "" }
{ "a": 5, "b": "bfgg", "c": "x4c", "d": 31, "e": "" }
各行に対してのみbを維持したいと思います。
{ "b": "sd"}
{ "b": "bfgg"}
答え1
答え2
そしてミラー
$ mlr --json cut -f b test.json
{ "b": "sd" }
{ "b": "bfgg" }
答え3
使用JSONJSONパーサー:
json -f test.json -gac 'return console.log("{ \"b\": \"" + this.b + "\" }")'
この場合、jq
これはより良いツールのようですが、まだjson
jsonデータを解析するのには非常に良いツールだと思います。
答え4
cut
以下を試すことができますsed
。
cut -d',' -f2 file | sed -e 's/^/{/' -e 's/$/ }/'
出力:
{ "b": "sd" }
{ "b": "bfgg" }