我有以下测试文件
AAA BBB CCC
使用以下sed可以注释掉BBB行。
# sed -e '/BBB/s/^/#/g' -i file
如果在开始时还没有#,我只想注释掉该行。
# sed -e '/^#/! /BBB/s/^/#/g' file sed: -e expression #1,char 7: unknown command: `/'
有什么想法可以实现吗?
假设你没有任何行多个#s这将工作:
sed -e '/BBB/ s/^#*/#/' -i file
注意:你不需要/ g,因为你每行最多只做一次替换。