jq コマンドで json のレコード件数をカウントする方法をメモします。
json のレコード件数をカウント
以下のような json を準備します。
$ jq . hoge.json [ { "id": 1, "name": "a" }, { "id": 2, "name": "b" }, { "id": 3, "name": "c" }, { "id": 4, "name": "d" }, { "id": 5, "name": "e" } ]
カウントするには、中身をパイプ '|' で jq コマンドに渡し フィルタに length を適用します。
$ jq . hoge.json |jq 'length' 5 $ cat hoge.json |jq 'length' 5
絞り込み
以下のような json を準備します。
$ cat hogehoge.json { "foo": [ {"id":1,"name":"a"}, {"id":2,"name":"b"}, {"id":3,"name":"c"}, {"id":4,"name":"d"}, {"id":5,"name":"e"} ], "bar": [ {"id":6,"name":"a"}, {"id":7,"name":"b"}, {"id":8,"name":"c"} ] }
foo や bar 毎にカウントができます。
$ cat hogehoge.json | jq '.foo | length' 5 $ cat hogehoge.json | jq '.bar | length' 3