码迷,mamicode.com
首页 > 其他好文 > 详细

正则表达式及grep 、 egrep用法详解

时间:2015-04-07 20:15:31      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:linux


         正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符(元字符)、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻   辑。其中的元字符不表示字符本身的意义,而是用于表达控制或通配等功能;

对象:字符串

组成:元字符+正常字符

功用:过滤文本字符,查找匹配字符并得出结果,供其它命令使用

作用对象:文本字符(文本文件里面的内容)

给定一个正则表达式和另一个字符串,我们可以达到如下的目的:

1. 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”);

2. 可以通过正则表达式,从字符串中获取我们想要的特定部分。

正则表达式的特点是:

1. 灵活性、逻辑性和功能性非常的强;

2. 可以迅速地用极简单的方式达到字符串的复杂控制。

 grep是基础的正则表达式,命令用于在文件内查找指定的字符串。

全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

         grep[-acinv] [--color=auto] ‘搜寻字符串‘ filename

选项与参数:

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

-v :显示不能够被模式匹配到的行

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

-i :忽略大小写的不同,所以大小写视为相同

 

--color=auto :可以将找到的关键词部分加上颜色的显示喔!

-B :附带显示前面两行

-A :附带显示后面两行

-C :附带显示上下两行一起

 

Linux egrep是扩展的正则表达式,命令用于在文件内查找指定的字符串。

egrep执行效果与"grep-E"相似,使用的语法及参数可参照grep指令,与grep的不同点在于解读字符串的方法。

字符匹配

 . :匹配任意单个字符

[] :指定集合中的任意单个字符

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

:匹配前面的字符出现至少1次

匹配次数限定

* :匹配前面任意次,0,1或者多次,前面字符出现与否都匹配

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

{m} :匹配其前面的字符m次

{m,n} :匹配其前面的字符至少m次,至多n次,{m,} 表示至少m,至多不限制,{0,n}表示至少0次,至多n次

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

 

字符锚定

^ :行首锚定,出现最左侧

$ :行尾锚定,出现最右侧

\< :词首锚定,在查找的单词模式的左侧;\<char

\> :词尾锚定,在查找的单词模式的右侧;char\>

\<pattern\>:匹配单词

 


正则表达式及grep 、 egrep用法详解

标签:linux

原文地址:http://jf888888.blog.51cto.com/10085687/1629398

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!