名もなき未知

エンジニアリングとか、日常とかそういうのをまとめる場所。アクセス解析のためGAを利用、Googleに情報を送信しています。商品紹介のためAmazonアフィリエイトを利用、Amazonに情報を送信しています。記事に関しては私が書いていない引用文を除いて自由にご利用ください。

jqで異なる深さに存在する同じキーを取り出す(メモ)

そういうことがしたいこともあります。

結局やったこと

結果的にすべてを見ればいいので recurse を使ってうまく処理すればよいことになります。

jq "recurse | select(.id?) | .id" b.json

順番と ? が重要。jq b.json "recurse | select(.id?) | .id" では jq: error: b/0 is not defined at <top-level>, line 1: となりうまく読み込めない。

また ? がないと、 jq: error (at b.json:1049): Cannot index array with string "id" となりエラー。

なかなか… 難しいですね… 理由についてはリファレンスを参照したりして、あとで探すことにします。

参考にした記事

まとめ

jq 、やろうと思ったことがあるのは大変ありがたいですね。いつも使い方を忘れてググってばかりですが…(ちゃんとリファレンスを読む時間を作ったほうがいいのかもしれない)