正则表达式与高级sed编辑器使用指南
1. 扩展正则表达式
在Linux系统中,POSIX ERE模式包含一些特殊符号,gawk能识别这些模式,而sed则不能。需要注意的是,sed和gawk的正则表达式引擎不同,gawk能使用大多数扩展正则表达式模式符号,具备一些sed没有的过滤功能,但处理数据流时通常较慢。
以下是一些常见的ERE模式符号:
- 问号(?) :表示前面的字符可以出现0次或1次。例如:
$ echo "bt" | gawk '/be?t/{print $0}'
bt
$ echo "bet" | gawk '/be?t/{print $0}'
bet
$ echo "beet" | gawk '/be?t/{print $0}'
$
也可与字符类一起使用:
$ echo "bt" | gawk '/b[ae]?t/{print $0}'
bt
$ echo "bat" | gawk '/b[ae]?t/{print $0}'
bat
$ echo "bot" | gawk '/b[ae]?t/{print $0}'
$
- 加号(+) :表示前面的字符至少出现1次。例如:
$ echo "beeet" | gawk '/be+t/{print $0}'
beeet
$ e
超级会员免费看
订阅专栏 解锁全文
7

被折叠的 条评论
为什么被折叠?



