Comment Comment by jolmg I was curious if this could be doable with jq, and apparently it is: jq -j ' [ [ paths(scalars) | map( if type == "number" then "[" + tostring + "]" else "." + . end ) | join("") ], [ .. | select(scalars) | @json ] ] | transpose | map(join(" = ") + "\n") | join("") ' EDIT: Got the string quoting and escaping.EDIT 2: For those who want to save this script, you can put just the jq code in an executable file with the shebang: #!/usr/bin/jq -jf parent jolmg 7 years ago
EDIT 2: For those who want to save this script, you can put just the jq code in an executable file with the shebang: