我一直在尝试使用sed删除agent4以及代理3之后的逗号(因此它保持有效json)。我最初尝试sed 's/\"agent4\"/
然后变成sed 's/,\n\s+\"agent4\"/
,但我发现sed读取了单独的行,所以我无法从这里进步。
必须使用sed。
{
"environments": {
"default": {
"machines": {
"dev-machine": {
"agents": [
"agent1",
"agent2",
"agent3",
"agent4"
]
}
}
}
}
}
答案 0 :(得分:0)
使用适当的JSON工具,例如jq
:
% jq '.environments.default.machines["dev-machine"].agents |= .[:-1]' tmp.json
{
"environments": {
"default": {
"machines": {
"dev-machine": {
"agents": [
"agent1",
"agent2",
"agent3"
]
}
}
}
}
}
答案 1 :(得分:0)
尝试此命令,
$ sed '/3\"/ s/,//g; N; s/\"agent4\"/,/' data.json