How to use jq to find all paths to a certain key
In a very large nested json structure I'm trying to find all of the paths that end in a key. ex: { "A": { "A1": { "foo": { "_": "_" } }, "A2": { "_": "_" } }, "B": { "B1": {} }, "foo": { "_": "_" } } would print something along the lines of: ["A","A1","foo"], ["foo"] Unfortunately I don't know at what level of nesting the keys will appear, so I haven't been able to figure it out with a simple select. I've gotten close with jq '[paths] | .[] | select(contains(["foo"]))' , but the output contains all the permutations of any tree that contains foo. output: ["A", "A1", "foo"]["A", "A1", "foo", "_"