1.about grep

grep,是LINUX提供给我们进行文本查找的工具,全称:Global Regular Expression Printing,即grep包含3个要素:全局,正则,打印。


2.how to use grep

grep options pattern file

关于选项:

在实际中,我们常用的有如下的:

-i :ingnore case

--color:高亮显示匹配到的内容,有利于验证我们的结果

-o:only matching,仅仅打印匹配到的内容

-v:反选。正如在数学中,我们从正面不好下手的时候,可以考虑对立面。

-A:表示after,即打印匹配到的行后面的几行内容。

-B:表示before,同理。

-C :表示context,同理。


3.正则

对LINUX而言,正则分为基本正则,扩展正则。命令可以通过选项来指定使用哪一种正则。

贪婪的匹配,基本正则注意转义。-e选项指定使用扩展正则。

基本正则:

.        任意单个字符

*        出现次数,>=0

\{m,n\}  出现次数,在区间[m,n]

\?       出现次数,0 OR 1

[]       指定区间的单个字符,如[0-9],[a-z]

[^]      对指定区间进行取反

^        出现位置限定,开始

$        出现位置限定,结尾

\<       出现位置限定,锚定词首  

\>       出现位置限定,锚定词尾

\b       equals \< and \>


\(\)分组,\1引用


扩展正则

字符匹配

.

[]

[^]


次数匹配:

*

{m,n}

?

+


位置匹配

^

$

\b

\<

\>


分组及引用

()

|

\1



4.grep家族

grep

egrep =grep -e

fgrep