如何使用sed替换文件中一个模式中的单个字符而又不替换该字符

时间:2019-07-11 16:56:41

标签: sed pattern-matching character substitution

假设我有一个名为“ optionfile”的文件,其内容如下:

option-a=0
option-b=1
option-c=0
option-d=1
option-e=1
<eof>

我想将选项-c中的值从0更改为1:

sed  -i '/option-c=/s/0/1/' optionfile

这适用于以上文件,但如果optionfile包含以下内容,则无效:

option-a=0
option-b=1
option-c=
option-d=1
option-e=1
<eof>

如何将option-c更改为1,即使有 等号后没有值,还是某个值不是0(例如2或9)?

1 个答案:

答案 0 :(得分:1)

stevesliva的评论提供了我想要的答案。谢谢!