一、egrep简介
egrep是grep的扩充版本, 改良了许多传统grep不能或不便的操作,用法与grep一致。
egrep与grep的比较:
1. grep 之下不支持 ? 与 + 这两种特殊字符, 但 egrep 则可.
2. grep 不支持 a|b 或 (abc|xyz) 这类"或一"比对, 但 egrep 则可.
3. grep 在处理时, 需用 \{ 与 \} 处理, 但 egrep 则不需.
二、egrep的元字符扩展集
+ :匹配一个或多个加号前面的字符。如: ‘a+b‘可以匹配ab、aab、aaab、aaaab、aaaaab等。
? :匹配零个或一个问号前面的字符。如:‘gr?p‘可以匹配grp、grrp
| :表示“或者”,匹配|符号前或者后的字符,如a|b|c,可以匹配a或b或c
( ):该符号和 | 符号通常结合使用,将候选的所有元素放在()内,用|隔开表示一组可选字符的集,如re(a|b|c)d等价于re[abc]d;另一个用法,就是把一个字符串作为一个整体,如(grep)表示匹配grep
{ } :表示大括号前面的字符要重复的次数,比如’a{3}’就是匹配aaa,’b{4}’就是匹配bbbb
注意:
1. 元字符扩展集如果想作为普通的字符,就要在前面加上转义符,如\/bin就表示/bin,\?就单纯表示?
2. grep和sed也同样支持这些元字符扩展集,但是grep和sed使用这些元字符扩展集必须在前面加上转义符:\
3. grep和sed可以使用‘.‘ 、 ‘*‘ 和 ‘.*‘,但是不能使用‘+‘和‘?‘,egrep和awk全部可以使用
时间: 2024-10-11 09:08:22