我正在尝试使用 jq 获取下面的 key@value 对 JSON 文件
{
"STUFF_RELATED1": "STUFF_RELATED1",
"STUFF_RELATED2": "STUFF_RELATED2",
"THINGS": {
"THING_2": {
"details": {
"stuff_branch": "user/dev"
},
"repository": "path/to/repo",
"branch": "master",
"revision": "dsfkes4s34jlis4jsj4lis4sli3"
},
"THING_1": {
"details": {
"stuff_branch": "master"
},
"repository": "path/to/repo",
"branch": "master",
"revision": "dsfkes4s34jlis4jsj4lis4sli3"
}
},
"STUFF": {
"revision": "4u324i324iy32g",
"branch": "master"
}
}
key@value 对应该如下所示:
THING_1@dsfkes4s34jlis4jsj4lis4sli3
目前我已经自己尝试过:
jq -r ' .THINGS | keys[] as $k | "($k)@(.[$k].revision)" ' things.json
但它并没有给出我真正想要的结果。:( 提前致谢!
最佳答案
你需要转义 (
:
jq -r ' .THINGS | keys[] as $k | "\($k)@\(.[$k].revision)" ' things.json
关于json - 使用 jq 从 json 文件中获取键值对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69852741/