[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'