微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sed – 注释符合特定string且尚未注释掉的行

我有以下testing文件

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: `/'

任何想法我可以如何实现这一目标?

使用Grep查找两个短语之间的文本块(包括短语)

我如何使用sed进行search和replace,而不包括一组字符?

.htaccess:从URL中删除公共

如何在windowsbatch file中使用regexp来启动安装?

Nginx匹配位置中的特定单词

如何在Nginx服务器上执行不区分大小写的正则expression式?

Sed:为什么]似乎不起作用?

使用多个sed命令

Ant replaceregexp任务 – 匹配并replaceHTML注释块

Apache RewriteCond中variables的负面比较

假设你没有多个#的行,这将工作:

sed -e '/BBB/ s/^#*/#/' -i file

注意:你不需要/ g,因为每行最多只有一个替换。

我觉得这个解决方案是最好的。

sed -i '/![^#]/ s/(^.*BBB.*$)/# 1/' file

不管有多少个“#”符号都不重要,它永远不会再添加一个符号。 如果您要搜索的模式不包含“#”,则会将其添加到行的开头,并且还会添加尾随空格。

如果你不想要尾随空间

sed -i '/![^#]/ s/(^.*BBB.*$)/#1/' file

sed -i '/![^#]/ s/(^.*BBB.*$)/# 1/' file

这不适用于我的关键字*.sudo ,根本没有评论

Ony下面的语法工作: sed -e '/sudo/ s/^#*/#/' file

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐