我有一个json文件,需要删除json对象。有没有办法只通过sed命令删除它。我的示例文件如下:
define({
name: 'ABC',
defaultApp: 'abc',
plugin: 'plugin',
loadOverride: 'load.json',
logger: {
url: '/rest/service/log',
sendFrequency: 5000,
autoLog: false
},
});
在这个文件中,我想通过sed命令从文件中删除logger对象。
预期产出:
define({
name: 'ABC',
defaultApp: 'abc',
plugin: 'plugin',
loadOverride: 'load.json',
});
我尝试使用此命令,但它无法正常工作。你能告诉我这里我做错了什么吗?
sed -i '/\"logger\"/,/}/ d; /^$/d' ./config1.js
感谢。
答案 0 :(得分:0)
您自己的sed
脚本与起始地址不匹配,因为您在logger
周围有双引号,而输入文件中没有此类模式。所以模式不匹配。如果修改了缩进,您可以使用:
sed 's/^ logger/,/^ },/d;`