我有以下测试文件
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: `/'
有什么想法可以实现这一点吗?
最佳答案
假设您没有包含多个 #
的任何行,这将起作用:
sed -e '/BBB/ s/^#*/#/' -i file
注意:您不需要/g,因为您每行最多进行一次替换。
https://stackoverflow.com/questions/17998763/