我想对包含TEXT的行进行字符串替换,并在的末尾留下,
符号,如果那么。
示例:
我想将"value": 5,
替换为"new-value": 0,
"value": 5
与"new-value": 0
我目前有这个:
sed -i 's/.*"cost":.*,$/ "cost": 0/' $FILE_NAME
但是,它始终会从最后删除,
。有什么建议吗?
答案 0 :(得分:1)
sed -i 's/."cost":.\(,\)\?$/ "cost": 0\1/' $FILE_NAME
请注意,这仅适用于单位数的费用值。
虽然你可以使用
sed -i 's/."cost":[0-9]\+\(,\)\?$/ "cost": 0\1/' $FILE_NAME
处理任意数量的数字。