为了账号安全,请及时绑定邮箱和手机立即绑定

替换包含字符串的行,但如果是逗号则保留最后一个字符

替换包含字符串的行,但如果是逗号则保留最后一个字符

开满天机 2021-04-09 16:23:02
我想做一个字符串替换包含文本的线,并离开一个,在结束符号,如果它的存在。例子:我要替换"value": 5,为"new-value": 0,并"value": 5用"new-value": 0我目前有这个:sed -i 's/.*"cost":.*,$/    "cost": 0/' $FILE_NAME但是,它将始终,从最后删除。有什么建议么?
查看完整描述

1 回答

?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

sed -i 's/."cost":.\(,\)\?$/ "cost": 0\1/' $FILE_NAME

请注意,这仅适用于单位成本值。

虽然你可以使用

sed -i 's/."cost":[0-9]\+\(,\)\?$/ "cost": 0\1/' $FILE_NAME

处理任意数量的数字。


查看完整回答
反对 回复 2021-04-16
  • 1 回答
  • 0 关注
  • 334 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信