利用sed处理json格式文件

应用场景:

我有一堆cfg文件中均有一个键值对:

“db_name” : "db1"

我想把涉及到的cfg文件里面的db1换成db2,于是使用sed命令:

sed -i 's/"db_name" :.*$/"db_name" : "db2"/' *.cfg 

换完之后发现一个问题:

有些cfg文件中这个键值对出现在文件最后,因此末尾没有逗号,为:

“db_name” : "db1"

但是另外一些cfg文件中这个键值对出现在中间,因此末尾有逗号,为:

“db_name” : "db1",

如果用上面的sed命令那么替换完之后所有的键值对末尾都没有了逗号,就不符合json文件格式了,于是改进sed命令如下:

sed -i 's/"db_name" :[^,]*/"db_name" : "db2"/' *.cfg

这样替换完之后,原来后面有逗号的还是有,原来没有逗号的还是没有,OK

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值