grep:根据模式,搜索文本,并将符合模式的文本显示出来

pattern:文本字符和正则表达式的元字符组合而成的匹配条件。

单引号:强引用

 

双引号:弱引用

-i :忽略大小写

 

--color:匹配到结果加颜色

alias grep='grep --color'

-v :显示没有被模式匹配到的行

-o: 只显示模式匹配到的字符串

-E:使用扩展正则表达式

-A n:显示匹配到的行及行后面的n行

-B n:显示匹配到的行及行前面的n行

-C n:显示匹配到的行及行前后面的n行

*:任意长度的任意字符

?:任意单个字符

正则表达式:REGular EXPreesion, REGEXP

元字符:

. :匹配任意单个字符

[] :匹配指定范围内的任意单个字符

[^]:匹配指定范围外的任意单个字符

[:digit:], [:lower:], [:upper:],[:space:]

匹配次数(贪婪模式):

*:匹配其前面的字符任意次

   a , b,ab,aab,  acb, adb, amnb

a*b  : b,  ab,  aab

a.*b  :  ab ,  aab,  acb ,  adb,  amnb

.*:任意长度任意字符

\?:匹配其前面的字符1次或0次

\{m,n\}:  匹配其前面的字符至少m次,至多n次

  \{0,3\} 

位置锚定:

^:锚定首行,此字符后面的任意内容必须出现在行首

$:锚定行尾,此字符后面的任意内容必须出现在行尾

^$ :空白行

\<或\b:其后的任意字符必须作为单词首部出现

\>或\b:其前面的任意字符必须作为单词尾部出现

\<root\> 或 \broot\b:精确匹配

分组:

\(\)

  \(ab\)*  :ab作为整体,出现一次或多次

  1\:引用第一个左括号以及与之对应的右括号中匹配到的内容

  2\:

练习:分析/etc/inittab 文件中如下文本中前两行的特征,请写出可以精确到类似现行的模式。

11:1:wait:/etc/rc.d/rc 1

13: 3:wait:/etc/rc.d/rc 3

grep '^1\([0-9]\):1\.* 1\$' /etc/inittab

扩展正则表达式:

字符匹配:

.

[]

[^]

次数匹配:

*:

?:

+:匹配其前面字符至少1次

{m,n}

位置锚定:

^

$

\<

\>

分组:

():分组

\1,\2,\3,.....

或者:

| :  or

C|cat   :  匹配C或cat

(C|c)at:  匹配Cat或cat