grep、egrep简单介绍

grep:global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来。个人理解为:要使用正则表达式;只针对文本全面搜索;把文本中匹配的行打印出来,并且不对原文本内容做任何修改。

1、grep使用格式:

grep  [OPTIONS]  PATTERN  [FILE...]

(1)常用OPTIONS:

--color:匹配的关键字用颜色标记显示出来
                 -v:显示不能被模式匹配到的行

-o:显示被模式匹配到的字符串

-i:不区分字符大小写

-E:支持扩展的正则表达式

-A  #:显示被匹配到的行和后面#行
                 -B  #:显示被匹配到的行和前面#行                  (#是数字)
                 -C  #:显示被匹配到的行和前后各#行

(2)PATTERN

‘PATTERN‘,一般情况下模式匹配时用单引号

“PATTERN”,模式匹配时包含字符串参数或调用变量要用双引号

正则表达式:regular expression,一类字符书写出来的模式。是以行为单位处理字符串的,工作在贪婪模式下,尽可能多的去匹配字符。

1、正则表达式的组成:

普通字符:包括大小写的字母和数字

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

2、正则表达式的分类:

功能上划分为基本正则表达式和扩展正则表达式

3、基本正则表达式中元字符的使用:

(1)字符匹配

.:匹配任意单个字符

[ ]:匹配范围之内的字符

[[:space:]]:表示空白字符
                         [[:lower:]]:表示所有小写字母
                         [[:upper:]]:表示所有大写字母
                         [[:alpha:]]:表示所有字母,也可使用[a-z]表示
                         [[:digit:]]:表示所有的数字,也可以使用[0-9]表示
                         [[:alnum:]]:表示所有的数字和字母
                         [[:punct:]]:表示所有特殊字符

[^]:匹配范围之外的字符

(2)字数匹配:用于匹配其前面的字符次数

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

.*:匹配任意字符任意次数

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

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

\{m,n\}:匹配其前面字符至少m次,至多n次
                  \{m,\}:匹配其前面字符最少m次
                  \{0,n\}:匹配其前面字符至多n次

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

^:用于锚定行首,用法为^Char
                   $:用于锚定行尾,用法为Char$
                   ^$:用来表示空白行

(4)单词锚定:

\<:用于锚定单词的词首,也可以使用\b表示,用法为\<Char或\bChar
                  \>:用于锚定单词的行尾,也可以使用\b表示,用法为Char\>或Char\b

(5)分组:对模式进行分组
                   \( \):用法为\(ab\)

(6)引用:对分组的字符串基于位置引用
                  \1: 后向引用,表示引用前面的第一个左括号与之对应的右括号中的模式所匹配到的内容
                  \2: 表示引用前面的第二个左括号与之对应的右括号中的模式所匹配到的内容
                   ...

4、扩展正则表达式中元字符的使用:除了字数匹配用法有区别,其余用法基本一样,这里只把字数匹配的列出,其余的用法参照基本正则表达式。

字数匹配:

*:匹配其前面的字符任意次
       .*:匹配任意字符任意次数
        ?:匹配其前面字符1次或者0次
       {m}:匹配其前面字符m次
       {m,n}:匹配其前面字符至少m次,至多n次
       {m, }:匹配其前面字符最少m次
       {0,n }:匹配其前面字符至多n次

egrep使用扩展正则表达式,针对文本全面搜索;把文本中匹配的行打印出来。等同于grep -E的用法,不再赘述。

时间: 2024-10-24 11:17:48

grep、egrep简单介绍的相关文章

Grep第二课(简单介绍)

先简单介绍下,下一次介绍正则表达式regular expression(RE) .grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来.Unix的grep家族包 括grep.egrep和fgrep.egrep和fgrep的命令只跟grep有很小不同.egrep是grep的扩展,支持更多的re元字符, fgrep

grep正则表达式原理介绍及应用实例

应用背景:我们刚刚添加了一个用户Luffy,但是不知道他的默认shell是什么. 问题:如何取出一个用户的默认shell? 解决方法: #grep '^Luffy\>' /etc/passwd | cut -d: -f7 /bin/bashf 通过上面的方法,我们就得到了Luffy这个用户的默认shell 文本搜索工具:就是要根据用户指定的文本模式,逐行的进行匹配,最终得到符合文本模式的行 grep是一个强大的文本搜索工具,下面我们就介绍一下grep的语法: grep [OPTIONS] PAT

grep egrep 用法以及其相应的正则表达式

grep egrep 用法以及其相应的正则表达式 一.grep.egrep命令 本文中主要介绍了linux系统下grep egrep fgrep命令和正则表达式的基本参数和使用格式.方法. 1.grep的定义: grep(global search regular RE ) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它只能使用基本的正则表达式来搜索文本,并把匹配的行打印出来. grep是很常见也很常用的命令,它的主要功能是进行字符串

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

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

&nbsp; &nbsp; linux 中的文本处理工具,grep,egrep

一:grep与egrep简介:                    grep与egrep是在linux中对linux文本搜索用的比较多的一个工具.它结合正则表达式实现与模型匹配的行. 二:语法格式: grep [option]... 'PATTERN' FILE... 支持基本正则表达式                  egrep [option]... 'PATTERN' FILE...支持扩展正则表达式                  [option]常用的主要有:          

grep过滤用法介绍(二)

grep过滤用法介绍(二) 背景:(1)alias cgrep='grep --color' (2)cp /etc/passwd  1.txt 1. cgrep -n 'root' 1.txt 包含root所在,行数. 2. cgrep -v 'nologin' 1.txt 不包含nologin. 3. cgrep '[0-9]' 1.txt 包含所有0-9中间数字包含任意一个的行. 4. cgrep '[a-zA-Z]' 1.txt 过滤所有字母. 5.cgrep '^[a-z]' 1.txt

grep过滤用法介绍(三)

grep过滤用法介绍(三) egrep是grep的扩展形式,grep能用的,egrep都能用 grep --color 'r\?o' 1.txt egrep --color 'r?o' 1.txt 这两式子相等,也就是说?或者+这样的特殊符号在egrep这里不需要脱义!,截图如下: grep -E==egrep egrep用法小结: 1. egrep --color 'root|nologin' 1.txt #head -n3 1.txt |egrep --color -n 'root|nolo

shell语法简单介绍

一.基本的语法 1.1.shell文件开头 shell文件必须以以下的行開始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的參数是用来运行该文件的程序.在这个样例中我们使用/bin/sh来运行程序. 当编辑好脚本时,假设要运行该脚本,还必须使其可运行. 要使脚本可运行: 执行chmod +x filename 这样才干用./filename 来执行 1.2 凝视 在进行shell编程时,以#开头的句子表示凝视,直到这一行的结束.我们真诚地建议您在程序中使用凝视. 假设

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不使用