jq - taka512/memo GitHub Wiki

jq

initial

brew install jq

็‰นๅฎš่ฆ็ด ใฎๅ–ๅพ—

cat tmp.json | jq '.total_count'

้…ๅˆ—ใฎๅฑ•้–‹

https://dev.classmethod.jp/articles/road-to-jq-master-apprentice/

cat tmp.json | jq '.[]'

ใ‚ฝใƒผใƒˆ

ใ€Œ-ใ€ใ‚’ใคใ‘ใ‚‹ใจ้™้ †ใซใ‚ฝใƒผใƒˆ

cat tmp.json | jq 'sort_by(.company_id,-.warehouse_base_id)'

ใƒ€ใƒ–ใƒซใ‚ฏใ‚ฉใƒผใƒˆใ‚’ๅ–ใ‚Š้™คใ

-rใ‚ชใƒ—ใ‚ทใƒงใƒณ ใ‚’ๅˆฉ็”จใ™ใ‚‹ใจใ€ใƒ€ใƒ–ใƒซใ‚ฏใ‚ฉใƒผใƒˆใŒๅ–ใ‚Š้™คใ‹ใ‚Œใพใ™ใ€‚

$ cat tmp.json | jq -r '.name'

mapใงๆ–ฐใ—ใ„้…ๅˆ—ใ‚’็”Ÿๆˆ

$ cat tmp.json | jq -r 'map({ name: .name, owner_id: .owner.id })'

็ตžใ‚Š่พผใฟ

items้…ๅˆ— ใ‹ใ‚‰ size ใฎๅ€คใŒ 25 ใ‚ˆใ‚Šๅคงใใ„่ฆ็ด ใ‚’ๆŠฝๅ‡บ
$ cat tmp.json | jq 'map(select( .size > 25 ))'
items้…ๅˆ— ใ‹ใ‚‰ owner.type ใฎๅ€คใŒ Organization ใงใ‚ใ‚‹่ฆ็ด ใ‚’ๆŠฝๅ‡บ
$ cat tmp.json | jq 'map(select( .owner.type == "Organization" ))'

ใƒ•ใ‚กใ‚คใƒซๅ‡บๅŠ›

cat tmp.json  |jq -r '.[] | [.size,.cnt] | @csv'
cat tmp.json  |jq -r '.[] | [.size,.cnt] | @tsv'