json - 在json文件中的对象之间添加逗号
问题描述
我有一个大的 json 表,我需要在其上的 json 对象之间添加 comm。我无法手动执行此操作。文件结构如下:
[{"host"
}
{"host"
}
{"host"
}
]
我需要将其修改sed
为:
[{"host"
},
{"host"
},
{"host"
}
]
我执行了以下命令。我没有收到任何错误。但文件中没有任何变化:
sed -i 's/}{"host"/},{"host"/g' result.json
我怀疑我应该考虑 }{ 用换行符分隔?我试图添加\n
命令但也没有工作。
解决方案
使用 GNU awk 进行多字符 RS:
$ awk -v RS='^$' -v ORS= '{gsub(/}\n{/,"},\n{")}1' file
[{"host"
},
{"host"
},
{"host"
}
]
或者,如果您愿意:
$ awk -v RS='}\n{' '{ORS=(RT ? "},\n{" : "")} 1' file
[{"host"
},
{"host"
},
{"host"
}
]
或使用 GNU sed for -z
and 识别\n
为换行符:
$ sed -z 's/}\n{/},\n{/g' file
[{"host"
},
{"host"
},
{"host"
}
]
推荐阅读
- aframe - 在智能手机中进入 VR 模式时相机总是改变位置
- angular - Angular 6 服务器端错误:找不到模块:错误:无法解析“./dist/server/main.bundle”
- html - 如何控制/解析位于 HTML 标头上方的数组
- reactjs - 函数作用域如何与 React 一起工作?
- java - 用 GIF 更新 JLabel 图标最终会停止动画
- neural-network - 全连接卷积网络中的上采样如何工作?
- jquery - 如何在 Angular 4 的 $.post 中访问 router.navigate()?
- apache-spark - SPARK 集群问题
- angular - RxJS展开减少循环不返回结果
- git - 远程主机关闭了 GIt 连接