Regex 转义加号不';行不通

Regex 转义加号不';行不通,regex,sed,Regex,Sed,我想删除所有带有3个加号的行: +++ 3 plus signs + 1 plus sign +++ 3 plus signs 这是我的sed命令,在行首后转义加号 sed '/^\+\+\+/d' -> This erase all lines sed '/^+++/d' -> This works and show only the 1 plus sign line 为什么??转义加号时有问题吗?快速注释。原始sed不支持“+”元字符。如果使用“-r”命令行

我想删除所有带有3个加号的行:

+++ 3 plus signs
+ 1 plus sign
+++ 3 plus signs
这是我的sed命令,在行首后转义加号

sed '/^\+\+\+/d'    -> This erase all lines
sed '/^+++/d'       -> This works and show only the 1 plus sign line
为什么??转义加号时有问题吗?

快速注释。原始sed不支持“+”元字符。如果使用“-r”命令行选项,GNU sed会支持扩展正则表达式

()


如果不使用
sed-r
,则不必转义
+
,因为它不被视为元字符。

@Tom值得注意的是,正则表达式有三种流行的语法形式:basic、extended和perl兼容。常规sed(不带-r)实现基本表单。