grep的基本正则表达式及扩展表达式

grep 全名为 全面搜索正则表达式并把行打印出来(global search regular expression)

grep搜索以 FILE 命名的文件输入 (或者是标准输入,如果没有指定文件名,或者给出的文件名是 - 的话),寻找含有与给定的模式 PATTERN(正则表达式) 相匹配的内容的行。默认情况下, grep 将把含有匹配内容的行打印出来。

另外,也可以使用两个变种程序 egrep 和 fgrep 。 Egrep 与 grep -E 相同。 Fgrep 与 grep -F 相同

grep的用法: 命令参数详解参考

grep [OPTIONS] PATTERN [FILE...]

grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...]

grep与egrep的常用选项(OPTIONS):

演示文本

aaat  
bbb    
ttt    
BBB

-i:忽略大小写

-o:显示匹配到的内容

-v:反向选取

-A #:匹配到的行的下#行

-B #:匹配到的行的上#行

-C #:匹配到行的上下各#行

--color=auto:匹配的显示颜色

-n:显示行号


grep与egrep的模式(PATTERN):

字符匹配

演示文本

gd

god

good

goood

gooood

grep演示

. :可以匹任意单个单词

集合相关

演示文本

abc123 %^#ABC

grep演示

匹配到集合中的相关内容

egrep演示

次数匹配

演示文本

gd

god

good

goood

gooood

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

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

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

\{m,\}:匹配其前面的字符至少m次

\+:匹配前面的字符至少1次  与\{1,\}效果一样

.*:匹配任意长度的任意字符,连空格行也匹配出来了

egrep演示

位置锚定

演示文本

abc:1abc

1abc:abc1

grep演示

^: 行首锚定

$: 行尾锚定

^$: 空白行

\<: 词首锚定, \b

\>:词尾锚定,\b

\<pattern\>匹配单词

egrep演示

通过一下演示可以表明词首或词尾锚定只能锚定数字和字母,字母和数字连在一起相当于一个单词

分组,或

演示文本

qqgodrrrgoogle

dddgooglerrrgod

godee

googlerrrgod

grep演示

加和不加分组括号没什么区别

加完后前面再加一个"^",只能显示行首锚定的god和google

不加分组括号,只能显示行首锚定god的和所有行有google的

egrep演示

后向引用  \1, \2, \3:

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

演示文本:go! go! Let‘s go.

grep演示

如不加括号,提示无效的向后引用

加括号后能正确匹配

把匹配范围缩小到g后的10个字符内

向后引用o这个单词

egrep演示

只要把"\"去掉

时间: 2024-11-20 06:01:11

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

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

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

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

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

linux正则表达式和扩展表达式

Centos的grep的正则表达式和扩展表达式 日期2015.08.28 备注:其简述来自于马哥课堂笔记  grep      grep是一个文本过滤工具根据用户指定的"模式(pattern)"逐行去搜索目标文本,打印匹配到的行:     模式:由正则表达式的元字符及文本字符所编写的过滤条件: 其中,元字符:字符不表示其字面意义,而用于表示通配或控制功能 grep分为两类 基本的正则表达式:BRE 扩展的正则表达式:ERE grep 使用格式 grep  [选项]   模式  [文件]

Linux正则表达式及扩展表达式、egrep命令的说明(8月27日作业练习)

1.总结本此课程中所涉及命令的使用方法及相关示例展示: 权限管理:           权限管理: chmod            所属关系管理: chown, chgrp            文件遮罩码:umask 修改文件权限:chmod          chmod [OPTION]... MODE[,MODE]... FILE...           chmod [OPTION]... OCTAL-MODE FILE...           chmod [OPTION]... -

[8-27]正则表达式、扩展表达式以及相关实战

本文旨在复习正则表达式,扩展正则表达式,对基本概念.基本用法等作记录 知识储备 正则表达式:是文本搜索工具,根据用户指定的"PATTERN模式"去逐行匹配目标文本,打印匹配到的行 模式: 由正则表达式的元字符及文本字符,所编写的过滤条件 元字符:字符不标识其字面意义,用于表示通配或控制功能: 逐行: 请注意:正则处理单位是"行",匹配时去匹配行,输出时输出行 BRE与ERE: BRE基本正则表达式,ERE扩展正则表达式 本质区别是[元字符的定义不一样罢了],常用参数

正则表达式和扩展表达式

1:通配符,匹配的是文件名的字符串,  正则表达式,匹配的是文内容的字符 2:正则表达式  基本正则表达式  :BRE 扩展正则表达式:ERE 元字符分类:字符匹配,匹配次数,位置锚定,分组 man   7regex  可以查询它的帮助 3:基本正则表达式元字符 . 匹配任意单个字符      []  匹配指定范围内的任意单个字符 [:alnum:]字母和数字       [:alpha:]代表任何英文大小写字符亦即A-Z,a-z          [:lower:]小写字母     [:upp

Grep命令及正则表达式

grep: grep英文全名: Global search REgular expression and Print out the line. 作用:文本搜索工具,根据用户指定的"模式(pattern)"逐行去搜索目标文本,打印匹配到的行: 模式:由正则表达式的元字符及文本字符所编写的过滤条件: 元字符:字符不表示其字面意义,而用于表示通配或控制功能: Grep命令分为分两类: 基本正则表达式:BRE 扩展正则表达式:ERE 命令格式 grep [OPTIONS] PATTERN [

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

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

linux当中的正则/扩展表达式(grep篇)

正则表达式在linux当中我们去使用shell脚本的时候经常会用到正则表达式,所以整理一些我们会用到的表达式,以便提升shell脚本能力 一.正则表达式(1)通过grep命令实践正则表达式比如我们去过滤带有bbb字段的行,直接可以通过grep "xx" file去获取到 [[email protected] ~]# cat test1 aaa bbb ooo cccc dddd eeee fffff ggggg hhhhh bbbbb kkkkk pppppp ssssss xxxxx