定义:
grep :Global search Regular Expression and Print out the line.
egrep :Extend Global search Regular Expression and Print out the line.
fgrep :Fast Global search Regular Expression and Print out the line.
注:fgrep不解析任何正则表达式,不常使用。
格式:grep/egrep [OPTION] ‘PATTERN’ <file_path>
OPTION:
-v :反向匹配,显示没有被匹配到的字符。
-o :只显示被匹配到的单词,并非整行。(默认显示被匹配到的整行)
-i :匹配时忽略大小写。
-E :使grep支持扩展正则表达式。
-A # :显示被匹配到的行以及之前#行。
-B # :显示被匹配到的行以及之后#行。
-C # :显示被匹配到的行以及前后#行。
工作模式:
‘贪婪模式’,即尽可能多的显示被匹配到的字符。
grep、egrep正则表达式比较:
比较对象 | grep(基本正则表达式) | egrep(扩展正则表达式) | |
位置匹配 | 任意单个字符 | . | . |
指定范围内的任意单个字符 | [] | [] | |
[0-9]或[[:digit:]] | [0-9]或[[:digit:]] | ||
[a-z]或[[:lower:]] | [a-z]或[[:lower:]] | ||
[A-Z]或[[:upper:]] | [A-Z]或[[:upper:]] | ||
[[:alpha:]] | [[:alpha:]] | ||
[[:alnum:]] | [[:alnum:]] | ||
[[:space:]] | [[:space:]] | ||
[[:punct:]] | [[:punct:]] | ||
指定范围外的任意单个字符 | [^] | [^] | |
次数匹配 | 任意次 | * | * |
0次或者1次 | \? | ? | |
至少1次 | 无 | + | |
m次 | \{m\} | {m} | |
至少m次,至多n次 | \{m,n}\ | {m,n} | |
至少m次,至多不限 | \{m,\} | {m,} | |
至多n次,至少不限 | \{0,n\} | {0,n} | |
位置锚定 | 行首锚点 | ^ | ^ |
行尾锚定 | $ | $ | |
词首锚定 | \<或\b | \<或\b | |
词尾锚定 | \>或\b | \>或\b | |
分组引用 | 分组 | \(\) | () |
引用 | \# | \# | |
注:‘#’表示数字; ‘\’表示转义符。 |
本文出自 “11219885” 博客,请务必保留此出处http://11229885.blog.51cto.com/11219885/1747545
原文地址:http://11229885.blog.51cto.com/11219885/1747545