私は jq を使用してjsonで遊んでいます。その中に条件付きで何かを印刷する方法を考えていました。
フィールドコールgeo
に興味があるとします。次のコマンドを使用して、geo
がnull
であるエントリが1つだけあることを確認しました。
% cat all.json | jq '.geo != null' | sort | uniq -c
1 false
6891 true
他のすべてを印刷せずにそのエントリのみを印刷するにはどうすればよいですか?
マニュアルにprint
コマンドのようなものが見つかりませんでした。そして、これは機能しません:cat all.json | jq 'if .place == null then . end'
。 jq
は構文エラーについて不平を言いました。
select 関数を使用して、必要なエントリのみを取得できます。
jq 'select(.geo != null)' all.json