Ik gebruik jqom met json te spelen. Ik vroeg me af hoe ik daarin iets voorwaardelijk kan afdrukken.
Stel dat ik geïnteresseerd ben in een veldoproep geo
. Ik gebruikte de volgende opdracht en ontdekte dat er maar één item is waarvan geo
null
is:
% cat all.json | jq '.geo != null' | sort | uniq -c
1 false
6891 true
Hoe kan ik die invoer alleen afdrukken zonder al het andere af te drukken?
Kon iets als print
niet in de handleiding zien. En dit werkt niet: cat all.json | jq 'if .place == null then . end'
. jq
klaagde over syntaxisfout.
Antwoord 1, autoriteit 100%
Je kunt de functie selectgebruiken om alleen de vereiste invoer te krijgen:
jq 'select(.geo != null)' all.json