[jq] Snippets¶
リストに使うコマンド¶
items
という配列がある想定で進める。
slice¶
indexにbegin:end
のような設定
jq '.items | .[3:5]'
map¶
idとnameだけを表示
jq '.items | map({id, name})'
.items[] | {id. name}
という表現だと外側の配列が除外されてしまう。
一覧で表示する場合はその方がいいかも。
jq '.items[] | {id, name}'
filter¶
idがmzb
のアイテムだけを表示
jq '.items[] | select(.id == "mzb")'
sort¶
idでソートする
jq '.items | sort_by(.id)'
降順はreverse
で表現
jq '.items | sort_by(.id) | reverse'
uniq¶
unique_by
を使う。uniq
ではないので注意
jq '.items | uniq_by(.season)'
group_by¶
ObjectではなくArrayになる。
jq '.items | group_by(.season)'
CSV/TSVに変換¶
jq -r '.items[] | [.id, .name] | @csv'
jq -r '.items[] | [.id, .name] | @tsv'