改行区切りのJSONからフィールドの値を抽出する

改行区切りのJSONからフィールドの値を抽出したいことがあったので、以下のデータを持つファイル data.ndjson を例にやり方を記録しておきます。

{"id": 1, "name": "Alice"}
{"id": 2, "name": "Bob"}
{"id": 3, "name": "Charlie"}

jqコマンドでフィールドを抽出できます。
クエリの書き方は以下を参照してください。
https://jqlang.github.io/jq/manual/#basic-filters

$ jq '.id' < data.ndjson
1
2
3

文字列を抽出する場合は -r (–raw-output) オプションでエスケープとクォートを取り除くことができます。

$ jq -r '.name' < data.ndjson
Alice
Bob
Charlie

参考

コメントする