我想从.package.json
中删除包含"electron-inspector": "0.1.4",
的行
以下不起作用。
sed -i '' -e 'electron-inspector' ./package.json
我需要改变什么?
答案 0 :(得分:8)
你可以这样做,但 sed不是JSON解析器!
sed -i '' -e '/electron-inspector/d' file
(macOS的sed)
需要-i ''
想象一下这样的简单(内联)案例:
{"foo": 123, "electron-inspector": "0.1.4", "bar": 42 }
BOOOM!所以:
jq -r 'del(.["electron-inspector"])' file.json > _.json && mv _.json file.json
短划线-
是special case for jq
如果你有一个简单的案例,那么命令就是:
jq 'del(.electroninspector)' file.json
检查JQ
cat file.json
{"foo": 123, "electron-inspector": "0.1.4", "bar": 42 }
$ node<<EOF > _.json && mv _.json file.json
var o = $(< file.json);
delete o["electron-inspector"];
console.log(JSON.stringify(o, null, 4));
EOF
{
"foo": 123,
"bar": 42
}
sponge
正确编辑文件:而不是:> x.json && mv x.json file.json
,我们可以这样做:
command ...... file.json | sponge file.json
您需要安装moreutils。
答案 1 :(得分:-3)
我得到了它:
sed -i '/electron-inspector/d' package.json