Linux系统学习之grep


回车0d换行0a

grep概念理解:

GREP(Global search Regular Expression and Print out the line),即全面搜索正则表达式并把行打印出来。

从定义可以知道grep是一种文本搜索工具使用正则表达式搜索文本,并把匹配的打印出来

 

grep使用:

一般格式: grep [选项] [模式] [文件……] (在一个或多个文件中搜索满足模式的文本行) P.47

模式可以是字符串,变量,还可以是正则表达式。

 

-w:表示匹配整词,即以模式的字面含义去解析它。因此元字符不再被解释为特殊含义。

grep -w cer* 文件:搜索包含“cer*”的行,此处的*没有任何含义,就是字符串“*”。

 

-x:表示匹配整行,只有当文件中有整行内容与模式匹配时,grep命令才输出改行结果。

 

-q:grep命令默认情况下是输出结果的,使用-q选项后不会输出结果,而以退出状态($?)表示搜索结果,退出状态0表示搜索成功,1表示未搜索到满足模式的行,2表示命令或程序由于错误未能执行。

 

-i:不区分大小写,也可以用[]来代替。

grep -i Grep 文件

grep [Gg]rep 文件

grep '[Gg][Rr][Ee][Pp]' 文件

 

普通匹配与精确匹配的区别:

grep the 文件:列出所有包含“the”字符串的行

grep “\<the\>” 文件:精确匹配“the”这个单词,-w选项也用于精确匹配。

 

或字符:

或字符“|”是扩展的正则表达式中定义的,grep需要加上-E选项才能支持它。

grep -E “a|b” 文件 :匹配带有a或b字符串的行

 

grep:标准grep命令,支持基本正则表达式

egrep:扩展grep命令,支持基本和扩展正则表达式;等价于 grep -E

fgrep:快速grep命令,不支持正则表达式,按照字符串的字面意思进行匹配;等价于 grep -F

相关内容