"jq -s .file1 file2"コマンドを使用して2つのjsonファイルをマージしようとしています。ただし、このファイルの内容をカンマで区切って[]で始めてはいけません。
ファイル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"
}
}
誰もが解決策を見つけるのに役立ちますか?ありがとう
ベストアンサー1
$ jq -s 'add' file[12].json
{
"node1": {
"Environment": "PRD",
"OS": "linux"
},
"node2": {
"Environment": "NPR",
"OS": "linux"
},
"node3": {
"Environment": "PRD",
"OS": "linux"
},
"node4": {
"Environment": "NPR",
"OS": "linux"
}
}
add
ファイル内で結合するリストの最上位キーを使用して、これらのキーのマージされたオブジェクトを作成します。