102

我正在使用jq来玩 json。我想知道如何有条件地打印一些东西。

假设我对现场通话感兴趣geo。我使用了以下命令,发现只有一个条目geonull

% cat all.json | jq '.geo != null' | sort | uniq -c              
   1 false
6891 true

如何只打印该条目而不打印其他所有内容?

在手册中没有看到类似print命令的内容。这不起作用:cat all.json | jq 'if .place == null then . end'. jq抱怨语法错误。

4

1 回答 1

173

您可以使用select函数仅获取必需的条目:

jq 'select(.geo != null)' all.json
于 2013-12-10T08:56:10.363 回答