我有很多这种格式的json文件:
样品file1
:
{
"attributes": [
{
"name": "Node",
"value": "test"
}
]
}
Run Code Online (Sandbox Code Playgroud)
样品file2
:
{
"attributes": [
{
"name": "version",
"value": "11.1"
}
]
}
Run Code Online (Sandbox Code Playgroud)
等等。
我需要将它们全部合并到一个 json 文件中,例如。
{
"attributes": [
{
"name": "Node",
"value": "test"
},
{
"name": "version",
"value": "11.1"
}
]
}
Run Code Online (Sandbox Code Playgroud)
有人可以提供jq的解决方案吗?
Rom*_*est 13
jq
解决方案:
jq -s '{ attributes: map(.attributes[0]) }' file*.json
Run Code Online (Sandbox Code Playgroud)
-s
( --slurp
) - 不是为输入中的每个JSON对象运行过滤器,而是将整个输入流读入一个大数组并只运行一次过滤器。示例输出:
{
"attributes": [
{
"name": "Node",
"value": "test"
},
{
"name": "version",
"value": "11.1"
}
]
}
Run Code Online (Sandbox Code Playgroud)