jq Voorwaardelijke uitvoer

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 geonullis:

% 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 printniet in de handleiding zien. En dit werkt niet: cat all.json | jq 'if .place == null then . end'. jqklaagde over syntaxisfout.


Antwoord 1, autoriteit 100%

Je kunt de functie selectgebruiken om alleen de vereiste invoer te krijgen:

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

Other episodes