定义:

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  

 

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

分组引用

分组

\(\)

()

引用

\#

\#

其他匹配

|

注:‘#’表示数字; ‘\’表示转义符。