Używam jq do zabawy z json. Zastanawiałem się, jak warunkowo coś w tym wydrukować.
Powiedzmy, że jestem zainteresowany rozmową w terenie geo
. Użyłem następującego polecenia i stwierdziłem, że jest tylko jeden wpis, który geo
to null
:
% cat all.json | jq '.geo != null' | sort | uniq -c
1 false
6891 true
Jak mogę wydrukować tylko ten wpis bez drukowania wszystkiego innego?
Nie widziałem czegoś takiego jak print
polecenie w instrukcji. I to nie działa: cat all.json | jq 'if .place == null then . end'
. jq
skarżył się na błąd składni.
cat all.json | jq 'select(.geo != null) | .geo' > geo-only.json