gpt4 book ai didi

json - 将 5 个或更多 json 文件连接在一起的 Shell 脚本

转载 作者:IT王子 更新时间:2023-10-29 00:38:15 31 4
gpt4 key购买 nike

我正在做一个项目,在一个大文件中有很多 json 文档,我们称之为 manifest.json

文件的标题如

a-11.json

{"id":"a-11",
"name":"XN0",
"code":"H3A8FF82820F"
"status":"live"
}

a-03.json

{"id":"a-03",
"name":"PF1",
"code":"FFFF82820F"
"status":"live"
}

a-09.json

{"id":"a-09",
"name":"PF1",
"code":"FFFF82820F"
"status":"live"
}

我想要一个 shell 脚本做的是按 alpha 顺序连接它们,我还需要像这样包装它们: [ {json 文档}, {json 文档}, {json 文件 ]用一个方括号分隔,这样它看起来像下面的代码-

join 命令仅连接两个文件,因此无法正常工作,我尝试了 cat 和 ls 的组合,但都出了点问题。我在这里尝试使用 Linux 环境而不是 MS 环境。

list .json

[
{"id":"a-03",
"name":"PF1",
"code":"FFFF82820F"
"status":"live"
},
{"id":"a-09",
"name":"PF1",
"code":"FFFF82820F"
"status":"live"
},
{"id":"a-11",
"name":"XN0",
"code":"H3A8FF82820F"
"status":"live"
}

]

命令

cat a-*.json > manifest.json

在顶部为 a-11.json 文档提供以下内容,感谢任何帮助。

[
{"id":"a-11",
"name":"XN0",
"code":"H3A8FF82820F"
"status":"live"
}
{"id":"a-03",
"name":"PF1",
"code":"FFFF82820F"
"status":"live"
},
{"id":"a-09",
"name":"PF1",
"code":"FFFF82820F"
"status":"live"
},

]

最佳答案

你可以使用 jq utility (sed for JSON data) :

$ jq -s '.' a-*.json > manifest.json

list .json:

[
{
"status": "live",
"code": "H3A8FF82820F",
"name": "XN0",
"id": "a-11"
},
{
"status": "live",
"code": "FFFF82820F",
"name": "PF1",
"id": "a-03"
},
{
"status": "live",
"code": "FFFF82820F",
"name": "PF1",
"id": "a-09"
}
]

关于json - 将 5 个或更多 json 文件连接在一起的 Shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23387256/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com