我想做一個字符串替換包含文本的線,并離開一個,在結束符號,如果它的存在。例子:我要替換"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
處理任意數量的數字。
- 1 回答
- 0 關注
- 368 瀏覽
添加回答
舉報
0/150
提交
取消