我想删除所有带有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
为什么呢?逃避加号时有什么问题吗?
答案 0 :(得分:6)
“快速评论。原来的sed不支持”+“元字符。如果你使用”-r“命令行选项,GNU sed就会这样做,它启用扩展正则表达式。” < / p>
(Source)
如果您不使用sed -r
,则不必转义+
,因为它不被视为元字符。