grep及扩展正则表达式

正则表达式有两类,分为基本正则表达式和扩展正则表达式,是使用命令egrep来使用扩展正则表达式,它与grep很多功能相同,仅在元字符上实现了些扩展,在元字符的表示上与基本正则表达式略不同。

1. 命令格式:

egrep [option] pattern file

2. 命令功能:

用于过滤/搜索的特定字符。可使用扩展正则表达式能多种命令配合使用,使用上十分灵活 。

3. 命令参数:

egrep等同于grep -E选项

扩展正则表达式的元字符:

字符匹配:

. #匹配单个非换行符的字符 如:‘gr.p‘匹配gr后接一个任意字符,然后是p。

[] #匹配一个指定范围内的字符,如‘[Gg]rep‘匹配Grep和grep。

[^] #匹配一个不在指定范围内的字符,如:‘[^A-FH-Z]rep‘匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。

次数匹配:

* #匹配零个或多个先前字符。如:‘*grep‘匹配所有一个或多个空格后紧跟grep的行。

? #匹配其前面出现的字符0次或1次。如:‘x\?y‘匹配x出现一次或者不出现的行。

+ #匹配其前面的字符出现至少一次。如: ‘x\+y‘匹配x出现最少一次的行。

{m} #匹配其前面的字符至少m次; 如:‘0\{5\}‘匹配包含5个o的行。

{m,} #重复字符x,至少m次,如:‘o\{5,\}‘匹配至少有5个o的行。

{m,n}:匹配其前面的字符至少m次,至多n次; o\{5,10\}‘匹配至少有5-10个o的行。

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

位置锚定:

$ #行尾锚定 如:‘grep$‘匹配所有以grep结尾的行。

^ #行首锚定 如:‘^grep‘匹配所有以grep开头的行。

^$ #空白行:行首与到行尾 特殊环境能用到

\< #单词 词首 锚定,也可以用\b。 如: ‘ \<grep‘ ‘\bgrep‘只匹配grep单词开头的行。

\> #词尾锚定,也可以用\b。如: ‘grep/>‘‘ grep/b‘ 只匹配grep单词结尾的行。

/< pattern/> #单词锚定,只匹配出现pattern单词的行和‘ /b pattern/b‘是一样的效果。

\b #单词锁定符,如: ‘\bgrep\b‘只匹配grep。 同/< pattern/>

分组

() #将关键字和元字符在里面分组,也支持后向引用。

后向引用 :模式中,如果使用\(\)实现了分组,在某行文本的检查中,如果括号中的模式匹配到了某内容,其内容 后面的模式中可以被引用; \1,\2,\3 第一个括号,第二个括号,第三个括号 模式自左而右,引用第N个左括号以及与其匹配右括号之间的模式匹配到的内容。

4.不同处

紧紧在元字符表示上略有不同:

在次数匹配的:?,+,{m},{m,}{m,n},分组()等等元字符表示上略有不同,使用方法都是一样的,大家可以参考另一篇博文《grep命令及基本正则表达式》

转载:http://www.tuicool.com/articles/iAbER3

时间: 2024-07-30 10:17:09

grep及扩展正则表达式的相关文章

2015年8月27日课程作业(文件权限管理及grep正则和扩展正则表达式)-JY1506402-19+liuhui880818

学习内容:文件权限管理及grep正则和扩展正则表达式 系统环境:CentOS 6.7/7 x86_64 一.作业(练习)内容: 1.总结本此课程中所涉及命令的使用方法及相关示例展示: 2.总结基本正则表达式及扩展正则表达式 3.显示/etc/passwd文件中以bash结尾的行 4.显示/etc/passwd文件中的两位数或三位数 5.显示`netstat -tan`命令结果中以'LISTEN'后跟0个.1个或者多个空白字符结尾的行 6.添加用户bash.testbash.basher以及nol

【grep】【egrep】【基本 / 扩展正则表达式】

正则表达式: 由一类字符书写的模式,其中有些字符不表示字符的字面意义,而是表示控制或通配的功能 Linux grep命令: 简介 grep (globl search regular expression(RE) and print out the line)是一种强大的文本搜索工具,他能使用正则表达式搜索文本,并把匹配的行打印出来 使用格式: grep [OPTION]... 'PATTERN' FILE... grep常用选项: -v: 反向选取 -o: 仅显示匹配到内容 -i: 忽略字符大

grep, egrep, 基本正则表达式及扩展表达式学习及用法

讲grep与egrep之前,我们先要知道grep与egrep是两种文本搜索工具.而文本搜索类工具就是根据用户指定的"模式(pattern)"对目标文本进行过滤,显示被模式匹配到的行. 正则表达式其定义:由一类字符书写的模式,其中有些字符不表示字符的字面意义,而是表示控制或通配的功能:(Global search REgular expression and Print out the line.) 正则表达式分类: 基本正则表达式(grep) 扩展正则表达式(egrep) 正则表达式的

grep, egrep, 基本正则表达式及扩展表达式;

什么是正则表达式? 正则表达式就是处理字符串的方法,它是以行为单位来进行字符串的处理行为,正则表达式通过一些特殊符号辅助,可以让用户轻易达到查找.删除.替换某特定字符串的处理程序. 正则表达式对Linux系统管理员工作有什么帮助? 通常情况下,由于系统在繁忙的情况下,每天产生的信息会多到你无法想象的地步,系统管理员需要每天去看很多的数据信息,从千百行的数据中找个出一行有问题的信息,难度太大! 这时,我们就可以通过正则表达式的功能,仅仅取出有问题的信息进行分析.如此,系统管理工作将会更加容易: g

grep、正则表达式和扩展正则表达式的理解及运用

grep.正则表达式和扩展正则表达式的理解及运用 一 .grep的基本含义 我们可以从命令man grep中看到gerp命令的帮助文档,从中我们可以得出grep.egrep.fgrep都是文本搜索工具,根据用户指定的文本模式(搜索条件)对目标文件进行逐行搜索,显示能匹配到的. grep有三种变形:   grep:标准grep命令,支持基本正则表达式   egrep:扩展grep命令,支持基本及扩展的正则表达式   fgrep:fastgrep,它把所有的字母都看作单词,即正则元字符不再特殊,而仅

linux基础篇-12,grep正则表达式与扩展正则表达式

################################################ 基本正则表达式:grep 使用正则表达式定义的模式来过滤文本 grep -i :不区分大小写 --color -v:显示没被匹配的任意行 -o:只显示被匹配的字符串 -E 扩展的正是表达式 =egerp -A#:#为数字 -B#: -C#: [[email protected] testcp]# grep -o 'root' /etc/passwd --color root root root ro

linux之grep基本及扩展正则表达式应用作业

Linux 培训8月27日作业 在8月27日的课程上,主要学习了关于grep命令的使用及其在基本正则表达式和扩展正则表达式下各元字符的具体应用. 1.总结本此课程中所涉及命令的使用方法及相关示例展示 本次课程所涉及的命令主要的有 grep它是一个文本过滤工具,它的作用是文本搜索工具,根据用户指定的"模式(pattern)"逐行去搜索目标文本,打印匹配到的行 这里面提到的模式很重要,模式按个人理解想理解它就需要先了解什么是元字符. 元字符:是一组特殊符号,但它们并不表示它们原来的字符意义

grep 使用整理 正则表达式 扩展正则表达式

名字 grep, egrep, fgerp 解释: grep是一个最初用于Unix操作系统的命令行工具. 在给出文件列表或标准输入后, grep会对匹配一个或多个正则表达式的文本进行搜索, 并只输出匹配(或者不匹配)的行或文本. 用法: grep [option] 'PATTERN' file ... --color=auto           常用选项[option]:                -v : 反向匹配, 显示不能被模式匹配到的行.                -o : 只

正则表达式与扩展正则表达式

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑.通常被用来检索.替换那些符合某个模式(规则)的文本.其主要应用对象是文本,因此它在各种文本编辑器场合都有应用. 贪婪模式与懒惰模式 正则表达式默认的情况下,会在满足匹配条件下尽可能的匹配更多内容.如 a.*b,用他来匹配 aabab ,它会匹配整个 aabab ,而不会只匹配到 aab 为止,这就是贪