Я використовую jq для гри з json. Мені було цікаво, як умовно щось надрукувати в цьому.
Скажімо, мене цікавить виїзний виклик geo
. Я використав таку команду і з’ясував, що є лише один запис, geo
який null
:
% cat all.json | jq '.geo != null' | sort | uniq -c
1 false
6891 true
Як я можу роздрукувати цей запис лише без друку всього іншого?
Не побачив print
у посібнику щось на зразок команди. І це не працює: cat all.json | jq 'if .place == null then . end'
. jq
скаржився на синтаксичну помилку.
cat all.json | jq 'select(.geo != null) | .geo' > geo-only.json