jq チートシート
配列を逐一処理する
echo [ 1, 2, 3, 4 ] | jq '.[]'
これは Lined JSON っぽいやつのときは不要
値でフィルタ
echo [ {"v":1}, {"v":2}, {"v":3}, {"v":4} ] | jq '.[] | select(.v == 1)'
カウント
配列のカウント
echo [ 1, 2, 3, 4 ] | jq 'length'
エントリー数のカウント
ふつうに wc
echo [ 1, 2, 3, 4 ] | jq '.[]' | wc -l
実データでやる例ほしいな
↓
画像の幅と高さが同一の投稿の ID を抽出
code:sh
cat data.json | jq 'select( .image_width == .image_height ) | .id'
頻度順にタグ名を列挙
code:sh
cat data.json | jq -r '.tags | .[] | .name' | sort | uniq -c | sort -n
出力(抜粋)
code::
2232 multiple_girls
2282 blush
2650 breasts
3424 long_hair
6032 solo
7378 1girl