Подтвердить что ты не робот

Jq Условный выход

Я использую 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 жаловался на синтаксическую ошибку.

4b9b3361

Ответ 1

Вы можете использовать функцию select, чтобы получить только необходимые записи:

jq 'select(.geo != null)' all.json