J'utilise jq pour jouer avec json. Je me demandais comment imprimer quelque chose sous condition.
Disons que je suis intéressé par un appel de champ geo
. J'ai utilisé la commande suivante et découvert qu'il n'y a qu'une seule entrée dont geo
est null
:
% cat all.json | jq '.geo != null' | sort | uniq -c
1 false
6891 true
Comment imprimer cette entrée uniquement sans imprimer tout le reste?
N'a pas vu quelque chose comme la commande print
dans le manuel. Et cela ne fonctionne pas: cat all.json | jq 'if .place == null then . end'
. jq
s'est plaint d'une erreur de syntaxe.
Vous pouvez utiliser la fonction sélectionner pour obtenir uniquement les entrées requises:
jq 'select(.geo != null)' all.json