名もなき未知

エンジニアリングとか、日常とかそういうのをまとめる場所。

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