json - 在 json 文件中的对象之间添加逗号

标签 json linux parsing search sed

我有一个很大的 json 表,我需要在表上的 json 对象之间添加通信。我无法手动执行此操作。文件结构如下:

[{"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 并将 \n 识别为换行符:

$ sed -z 's/}\n{/},\n{/g' file
[{"host"
},
{"host"
},
{"host"
}
]

关于json - 在 json 文件中的对象之间添加逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51920957/

相关文章:

json - 搜索引擎索引动态页面

java - GSON 无法反序列化之前使用 : Expected BEGIN_OBJECT but was STRING 序列化的对象

java - Elasticsearch Java API : Is there a way to generate mapping from a document?

python - 在 Ubuntu 上安装 Python Nmap 的问题

linux - 在 Makefile 中,如何验证是否安装了所需的 Linux 软件包

java - 将 ANTLR 解析树转换为 JSON

javascript - 使用javascript将json显示为html

android - 什么会导致待机模式下key_up和key_down同时报错

parsing - 方言和解析的最佳介绍?

parsing - 将字符串解析为 f64 和 i64