sed 正则表达式中的反转义
- 目录 {:toc}
两种正则
今天修复了 orange 的一个 小瑕疵。是 sed s 命令使用正则的一个小问题。
可以说s命令时sed中最重要的命令,完成输入流的查找、替换。使用格式有如下两种方式:
1 |
|
和其他编程语言相比 regexp,replacement
的使用也没什么太大的区别,例如反向引用
都是可以使用的。
上面第一条命令使用的是基础正则表达式(BRE)
,第二条命令中-r
表示使用的是扩展的正则表达式(ERE)
,其区别可 参考gnu
附录文档。
反转义
在 sed
[1]中两种正则表达式非常有意思,其两种模式互相转换[2]。
元字符 不起效,如下两种方式 + 只是表示其字面量字符加号。
1
2
3
4
5$ echo "a+b=c" | sed -n '/a+b/p'
a+b=c
$ echo "a+b=c" | sed -E -n '/a\+b/p'
a+b=c
元字符 起效,如下两种方式 + 表示匹配一个或多个。 1
2
3
4
5$ echo "aab" | sed -n '/a\+b/p'
aab
$ echo "aab" | sed -E -n '/a+b/p'
aab
参考
sed 正则表达式中的反转义
http://blog.soul11201.com/2017/06/19/sed/