行の長さが異なる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"}
$ mlr --json cut -f b test.json
{ "b": "sd" }
{ "b": "bfgg" }
json jsonパーサーの使用:
json -f test.json -gac 'return console.log("{ \"b\": \"" + this.b + "\" }")'
この場合、jq
はこのためのより良いツールのように見えますが、json
はjsonデータを解析するための本当に素晴らしいツールだと私はまだ思います。
cut
とsed
でこれを試すことができます:
cut -d',' -f2 file | sed -e 's/^/{/' -e 's/$/ }/'
出力:
{ "b": "sd" }
{ "b": "bfgg" }