目录
92-
egrep 'S(h|u)' datafile
grep -E 'S(h|u)' datafile
grep 'S\(h\|u\)' datafile
-E, --extended-regexp <模式> 是扩展正则表达式egrep其实就是默认加了-E的grep
打印所有包含一个S后跟一个h或u(如Sh或Su)的行
92-
grep变体的不规则形式
grep '\<north\>' datafile
grep -E '\<north\>' datafile
egrep '\<north\>' datafile
- 无论使用哪种grep变体,都必须在词定位符(guess:<>)元字符前加上一个反斜线(\)
- 这一次,grep搜索一个以north开头并以之结尾的词。\<代表词首定位符\>代表词尾定位符
- 带-E选项的grep也能够识别词定位符
93-
grep 'w\(es\)t.*\1' datafile
grep -E 'w(es)t.*\1' datafile
egrep 'w(es)t.*\1' datafile
如果正则表达式
w\(es\)t
匹配成功,则模式es被存储在内存寄存器1中。该表达式含义是:如果找到了west,则标记并保存模式es,接着,搜索任意数目的字符后再次匹配es(\1)的行,并打印该行。Charles中的es在后向引用时被匹配成功。
*为重复前一个字符零或多次,. 猜为任意字符
例子
datafile文件
northwest NW charles Main 3.0 .98 3 34
western WE Sharon Gray 53 .97 5 23
southwest SW Lewis Dalsass 2.7 .8 2 18
southern SO Suan Chin 5.1 .95 4 15
southeast SE