首页 > 其他 > 详细

linux下grep、egrep及正则表示式的常用使用方法

时间:2014-02-15 16:10:20      阅读:494      评论:0      收藏:0      [点我收藏+]

1、简介

Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配到的行打印出来。grep全称是Globally search for a Regular Expression and  print  out the line,表示全局搜索正则表达式并打印匹配结果的意思。Linux下所有用户都可以使用。


2、格式


grep [option] "pattern" FILE


3、常用选项


-v:显示除匹配结果以外的所有内容

没有使用-v选项的效果:

bubuko.com,布布扣

使用-v选项后的效果:

bubuko.com,布布扣

-i:忽略大小写

bubuko.com,布布扣

-o:只显示匹配到的内容

没有使用-o选项的效果:

bubuko.com,布布扣

使用-o选项后的效果:

bubuko.com,布布扣

--color=auto : 表示使用颜色填充匹配到的内容,使其高亮显示

bubuko.com,布布扣

-A n : n为数字,表示显示匹配到内容及其后面的n行

-B n : n为数字,表示显示匹配到内容及其前面的n行

-C n : n为数字,表示显示匹配到内容及其前后的n行

正常显示效果:

bubuko.com,布布扣

-A 1,效果:

bubuko.com,布布扣

-B 1,效果:

bubuko.com,布布扣

-C 1,效果:

bubuko.com,布布扣

-E:等同于egrep,使用扩展的正则表达式


4、基本正则表达式元字符


^ : 表示锚定行首,格式:

‘^pattern’

bubuko.com,布布扣

& : 表示锚定行尾,格式:

‘pattern$‘

bubuko.com,布布扣

特殊用法: ^$,表示匹配空白行:


. : 表示匹配任意单个字符

bubuko.com,布布扣

* : 表示匹配之前的字符任意次

   .* : 表示匹配任意长度的任意字符

bubuko.com,布布扣

[] : 表示匹配范围内任意单个内容

[^] : 表示匹配范围外任意单个内容

   

常用范围表示格式:

[0-9] : 表示所有数字 等同于 [[:digit:]]

[a-z] : 表示所有小写字母 等同于 [[:lower:]]

[A-Z] : 表示所有大写字母 等同于 [[:upper:]]

[a-zA-Z] : 表示所有字母 等同于 [[:alpha:]]

[a-zA-Z0-9] : 表示字母和数字 等同于 [[:alnum:]]

[[:graph:]] : 表示非空字符(非空格、控制字符)

[[:cntrl:]] : 表示控制字符

[[:punct:]] : 表示标点符号

[[:print:]] : 表示非空字符(包含空格)

[[:space:]] : 表示空白字符

bubuko.com,布布扣

\? : 表示匹配之前的字符0次或1次

   .\? : 表示匹配任意字符0次或1次

bubuko.com,布布扣

\{m,n\} : 表示匹配之前的字符至少m次,最多n次

   \{0,n\} : 表示匹配之前的字符最多n次

   \{m,\}  : 表示匹配之前的字符至少m次

   \{m\}   : 表示匹配之前的字符m次

bubuko.com,布布扣

\< : 表示单词词首锚定,等同\b

\> : 表示单词词尾锚定,等同\b

\<word\> : 表示锚定单词,等同\bword\b

bubuko.com,布布扣


\(pattern\) : 表示分组

\(pattern\).*\1 : 表示引用前面分组内容

bubuko.com,布布扣

5、egrep和grep的区别地方:

增加的元字符

+ : 表示匹配前面的字符至少一次

bubuko.com,布布扣

| : 表示匹配符号两边的任意一边,比如a|b,表示匹配a或者b

bubuko.com,布布扣

注意,| 左右带括号和不带括号的区别


变化的元字符

? : 等同于grep中的\?,在egrep中不需要反义

() : 等同于grep中的\(\),在egrep中不需要反义

{} : 等同于grep中的\{\},在egrep中不需要反义

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣

以上就是grep和egrep的简单用法。

linux下grep、egrep及正则表示式的常用使用方法

原文:http://hellc.blog.51cto.com/5523373/1359107

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!