如何在Bash/Python中为相邻大括号间添加逗号(排除最后一处)
解决相邻JSON对象间添加逗号的问题
你需要把连续的JSON对象用逗号分隔开,之前的sed命令写法有误,所以没效果。直接用下面的sed命令就能搞定:
sed 's/}{/},{/g'
具体操作示例
- 输入内容:
{"id": "1", "eventName": "Pause", "eventTime": "2022-11-02T21:00:42Z"}{"id": "2", "eventName": "Resume", "eventTime": "2022-11-03T14:18:47Z"}{"id": "7", "eventName": "Pause", "eventTime": "2022-11-02T18:15:48Z"}{"id": "3", "eventName": "Resume", "eventTime": "2022-11-03T08:01:19Z"}{"id": "4", "eventName": "Resume", "eventTime": "2022-11-03T06:34:42Z"}{"id": "6", "eventName": "Pause", "eventTime": "2022-11-02T23:01:07Z"}{"id": "5", "eventName": "Resume", "eventTime": "2022-11-03T03:01:05Z"}
- 执行命令后输出:
{"id": "1", "eventName": "Pause", "eventTime": "2022-11-02T21:00:42Z"},{"id": "2", "eventName": "Resume", "eventTime": "2022-11-03T14:18:47Z"},{"id": "7", "eventName": "Pause", "eventTime": "2022-11-02T18:15:48Z"},{"id": "3", "eventName": "Resume", "eventTime": "2022-11-03T08:01:19Z"},{"id": "4", "eventName": "Resume", "eventTime": "2022-11-03T06:34:42Z"},{"id": "6", "eventName": "Pause", "eventTime": "2022-11-02T23:01:07Z"},{"id": "5", "eventName": "Resume", "eventTime": "2022-11-03T03:01:05Z"}
为什么之前的命令无效?
你写的sed 's/"\[\[}{\]\]\\+"/","/g'存在语法错误:
- 多余的双引号包裹正则,导致匹配逻辑混乱
- 错误使用转义字符,既没必要也不符合基础sed的语法规则
- 正则根本匹配不到
}{这个相邻符号组合
内容的提问来源于stack exchange,提问作者anup
相关产品推荐
相关产品推荐

