sed匹配关键字整行替换
提要:本来想写个脚本,批量修改软件的配置,忘记sed匹配怎么写,上网搜索了一下。下面做个演示以便熟悉。匹配2.txt中bcd未注释的行再将其注释(加#号),注意红色字体写法。lm@localhost:~/work$ cat 2.txtbcd#bcdabc#abclm@localhost:~/work$ sed -i "s/^.*bcd.*$/#bcd/" 2.txtlm@localhost:~/w
·
提要:本来想写个脚本,批量修改软件的配置,忘记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
更多推荐
已为社区贡献3条内容
所有评论(0)