提要:本来想写个脚本,批量修改软件的配置,忘记sed匹配怎么写,上网搜索了一下。下面做个演示以便熟悉。

匹配2.txt中bcd未注释的行再将其注释(加#号),注意红色字体写法

lm@localhost:~/work$ cat 2.txt
bcd
#bcd
abc
#abc
lm@localhost:~/work$ sed -i "s/^.*bcd.*$/#bcdd/" 2.txt
lm@localhost:~/work$ cat 2.txt
#bcdd
#bcdd
abc
#abc

 可以看到原本已经注释的行也被加替换,此时我不希望它被替换,可以改一种写法。

lm@localhost:~/work$ cat 2.txt
#bcdd
#bcdd
abc
#abc
lm@localhost:~/work$ sed -i "s/^abc.*$/#abcc/" 2.txt
lm@localhost:~/work$ cat 2.txt
#bcdd
#bcdd
#abcc
#abc

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐