grep、egrep及相应的正则表达式和用法

一、grep及基本正则表达式
1、grep基本用法        grep  [OPTIONS]  PATTERN  [FILE...]	    常用选项:		--color=auto:对匹配到的文本着色后高亮显示;		-i:忽略字符大小写;		-o:仅显示匹配 到的文本自身;		-v, --invert-match:反向匹配;		-E:支持扩展的正则表达式;		-q, --quiet,静默模式,不输出任何信息;

  1)首先建立一个test.txt的文本文件

  2)然后使用grep和各选项进行匹配搜索:
    --color=auto:对匹配到的文本着色后高亮显示

    -i:忽略字符大小写

    -o:仅显示匹配到的文本自身,而不会显示行

    -v,反向匹配

   -q, 静默模式,不输出任何信息;

2、基本正则表达式

正则表达式就是一类字符所书写出的模式(pattern),来处理字符串的方法,它是以行为单位来进行字符串的处理行为,正则表达式通过一些特殊称号的辅助,可以让用户轻易达到查找、删除、替换某特定字符串的处理程序。

元字符:不表示字符本身的意义,用于额外功能性的描述。

1)字符匹配:

.:匹配任意单个字符

注意:空格也属于字符,这里的“old”前边有空格所以也匹配到了。

[ ]:匹配范围内的任意单个字符;

[^ ]:匹配范围外的任意单个字符;

[:digit:]:数字字符"0-9"

[:lower:]:小写字母字符"a-z"

[:upper:]:大写字母字符"A-Z"

[:alpha:]:字母字符"A-Za-z"

[:alnum:]:字母字符"A-Za-z"和数字字符"0-9"

[:space:]:代表的是空白字符,包括空格键[Tab]等

2)次数匹配

* :匹配其前面的字符任意次

.*:匹配任意长度的任意字符,0次或多次

\?:匹配其前面的字符可有可无(即0次或1次)

\{m\}:匹配m次 这里的\代表转义字符,扩展正则表达式中不用

\{m,n\}:匹配最少m次,最多n次

\{m,\}:匹配至少m次

\{0,n\}:匹配至多n次

3)位置锚定: 用于指定字符出现的位置

^:托字符,锚定行首,

注意与匹配范围外的任意单个字符的[^ ]进行区分尤其是语句中含有像[:digit:]这类集         合时需特别注意。

$:锚定行尾

^$:既是行首,又是行尾,即空白行

注意:这里为了显示效果,使用管道和wc命令直接输出了空白行的行数。

\<:锚定词首 \<char \bchar 这里的\依然是转义

\>:锚定词尾 char\> char\b

\<char\>:既锚定词首又锚定词尾,即锚定某个单词。

4)分组和引用

\(\) \给括号转义

将括号中模式匹配到的字符会被记录于正则表达式引擎内部的变量中,然后通过\1或\2等来前向        引用,引用前面的第1个或第2个左括号以及与之对应的右括号中的模式所匹配到的内容。

二、egrep及扩展正则表达式
1、egrep基本用法        egrep  [OPTIONS]  PATTERN  [FILE...]	    常用选项:		--color=auto:对匹配到的文本着色后高亮显示;		-i:忽略字符大小写;		-o:仅显示匹配 到的文本自身;		-v, --invert-match:反向匹配;		-q, --quiet,静默模式,不输出任何信息;

2、扩展正则表达式

字符匹配的命令和用法与基本正则表达式的用法相同,这里不再重复阐述,但要注意以下两         点:

a:在扩展正则表达式中不需要转义符\,但锚定词首词尾还需要有

b: 扩展正则表达式中增加或者|

元字符:

1)字符匹配:

.:任意单个字符

[]:指定范围内的任意单个字符

[^]:指定范围外的任意单个字符

2)次数匹配:

*:匹配其前面的字符任意次

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

+:匹配其前面的字符1次或多次

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

{m,n}:至少m次,至多n次

{m,}:至少m次

{0,n}:至多n次

3)锚定:

^:锚定行首

$:锚定行尾

\<:锚定词首 \b

\>:锚定词尾 \b

4)分组及前向引用:

5)或者 基本正则表达式中没有|

实例还以上面的test.txt文件为例,找出以S或s开头的单词:

时间: 2024-12-25 00:03:44

grep、egrep及相应的正则表达式和用法的相关文章

linux下grep、egrep及相应的正则表达式和用法

     linux下grep.egrep及相应的正则表达式和用法                       一.简介      Linux上文本处理三剑客(引用自马哥教育 ):  grep, egrep, fgrep:文本搜索工具:基于"pattern"对给定文本进行搜索操作:     sed:Stream EDitor,流编辑器,行编辑工具:文本编辑工具:     awk:GNU awk,文本格式化工具:文本报告生成器:         grep (缩写来自Globally se

grep, egrep及相应的正则表达式用法详解

grep, egrep及相应的正则表达式用法详解 一.grep/egrep Global search REgular expression and Print out的简写,是一种强大的文本搜索工具,它根据用户指定的文本模式(正则表达元字符以及正常字符组合而成)对目标文件进行逐行搜索,并把匹配的行打印出来.Unix的grep家族包括grep.egrep和fgrep. linux使用GNU版本的grep.它功能更强,可以通过-E.-F命令行选项来使用egrep和fgrep的功能(fgrep不使用

llinux文本三剑客之grep、egrep及相应的正则表达式和用法

Linux文本三剑客之grep族以及相应的正则表达式 Grep族是什么? Grep族是linux学习中搜索文本的重要工具,它基于使用正则表达式来快速简洁的搜索你想要查看的文本.是搜索文本的不二之选 什么时候及在哪里使用grep呢? 上面咱们说到了,grep是文本搜索工具,所以当我们要搜索文本,有搜索文本的需要时我们就可以是使用grep工具. 下面我们来谈谈如何使用grep族命令以及涉及到的正则表达式的内容 文本搜索工具:grep族:grep, egrep, fgrep Linux上文本处理三剑客

liunx中grep,egrep及相应的正则表达式和用法

正则表达式是linux中重要的一部分,学习正则表达式先要学好grep和egrep的命令使用. 1. grep: grep命令的基本语法格式 grep [OPTION]... 'PATTERN' FILE... grep的常用选项: -v : 对匹配的行进行取反 -o : 仅显示匹配到的内容 -i : 忽略字符大小写 -n : 为匹配的行加上行号 -E : 使用扩展正则表达式 ,等同于egrep命令 -F : 不使用正则表达式搜索,等同于fgrep命令 -A # : 连同匹配行的下#行一并显示,#

Linux中的grep、egrep及相应的正则表达式和用法

在Linux系统当中,处理文本有三个常用的工具,俗称文本处理三剑客,grep就是其中之一. grep是一种强大的文本搜索工具,它的全称是:Globally search a Regular Expression and Print.工作原理是基于正则表达式引擎按给定的"pattern"对文本进行搜索过滤操作,并把匹配的行打印出来.因此了解要grep的用法我们可以从两方面着手,1:grep命令的用法,2:正则表达式. 1,grep命令的使用方法 首先我们可以使用man命令查看一下grep

grep egrep及相关的正则表达式用法

一.什么是正则表达式 在编写处理字符串的时候,经常需要查询某些符合复杂规则的字符串,正则表达式就是描述这些规则的工具. 正则表达式有基本表达式和扩展正则表达式.扩展正则表达式,是基本正则表达式的补充.有些元字符,稍有不同. 二.正则表达式的组成部分: 由元字符及正常字符所书写,元字符不表达字符本意,而表达控制或通配的功能: 2.1基本正则表达式/扩展正则表达式元字符 字符匹配:[基本/扩展正则表达式元字符相同] 基本/元字符: 扩展/元字符: 说明: . . 匹配任意单个字符 [] [] 匹配指

Linux grep,egrep及相应的正则表达式用法详解

linux在进行文本处理过程中的文本搜索工具称为正则表达式.文本搜索工具有grep.egrep.fgrep,egrep为正则表达式的扩展正则表达式,fgrep用于搜索文本字符串,与 grep 和 egrep 命令不同,因为它搜索字符串而不是搜索匹配表达式的模式.grep的含义为: global search Regular expression and Print out the line. 正则表达式(REGular EXPression REGEXP)是由元字符及正常字符所书写的模式,其中的

Linux正则表达式grep,egrep 及相应的正则表达式用法详解

一.正则表达式介绍: 所谓正则,又称正则表达式.正规表示法.常规表示法(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表达式使用单个字符串来描述.匹配一系列符合某个句法规则的字符串.在很多文本编辑器里,正则表达式通常被用来检索.替换那些符合某个模式的文本. 给定一个正则表达式和另一个字符串,我们可以达到如下的目的: 1. 给定的字符串是否符合正则表达式的过滤逻辑(称作"匹配"): 2. 可以通过正则表达式,从字符

Linux文本过滤搜索器grep与egrep的常用正则表达式与用法

grep家族中的grep及egrep的相应的正则表达式和用法. 1.grep家族是文本处理三大剑客之一.(grep,sed,awk) grep: (Global search REgular expression and Print out the line).其支持使用基本正则表达式. egrep:支持使用扩展正则表达式 fgrep:不支持使用正则表达式(一般在大型web网站日志搜索时所使用) grep的作用:过滤查找关键词并打印匹配的行. grep的用法: grep [选项] 匹配模式 [文