使用 jq 合并 json 文件(每个文件一个输入对象 - >一个较大的输出对象,而不是列表)



我正在使用"jq -s .file1 file2",但我希望它们在没有逗号分隔的情况下合并。它也不应该以 [] 开头

文件 1:

{
"node1": {
"Environment": "PRD",
"OS": "linux"
},
"node2": {
"Environment": "NPR",
"OS": "linux"
}
}

文件 2:

{
"node3": {
"Environment": "PRD",
"OS": "linux"
},
"node4": {
"Environment": "NPR",
"OS": "linux"
}
}

使用 jq -s 输出。 文件 1 文件 2

[
{
"node1": {
"Environment": "PRD",
"OS": "linux"
},
"node2": {
"Environment": "NPR",
"OS": "linux"
}
},
{
"node3": {
"Environment": "PRD",
"OS": "linux"
},
"node4": {
"Environment": "NPR",
"OS": "linux"
}
}
]

所需输出:

{
"node1": {
"Environment": "PRD",
"OS": "linux"
},
"node2": {
"Environment": "NPR",
"OS": "linux"
},
"node3": {
"Environment": "PRD",
"OS": "linux"
},
"node4": {
"Environment": "NPR",
"OS": "linux"
}
} 

谁能帮我找到解决方案,谢谢!

一个选项可以延长您的尝试:

jq -s add file1 file2

另一个:

jq -n 'input+input' file1 file2

相关内容

  • 没有找到相关文章