删除sed匹配特殊正则表达式的行

时间:2012-05-30 19:17:21

标签: regex sed match

我尝试删除所有以某些可选特殊字符开头的行,后跟blubb:

这就是我想要匹配的行:

#blubb
*blubb
-blubb
blubb

那应该这样做,但是不行:(

sed "/^.?blubb$/d" -i special.conf  
sed "/^[#*-]?blubb$/d" -i special.conf  

有人正确的解决方案吗?

1 个答案:

答案 0 :(得分:24)

使用此sed命令:

sed -i.old '/^[#*-]\{0,1\}blubb/d' special.conf

OR

sed -i.old -E '/^[#*-]?blubb/d' special.conf

OR

sed -i.old -r '/^[#*-]?blubb/d' special.conf