grep egrep用法

合集下载

egrep的用法

egrep的用法

egrep的用法摘要:1.egrepper 的概述2.egrepper 的基本语法3.egrepper 的高级特性4.egrepper 的实例正文:一、egrep 的概述egrep(扩展正则表达式grep)是一个在Linux 和Unix 系统中广泛使用的工具,它基于正则表达式进行文本搜索。

它可以在文件中查找与给定模式匹配的行,并输出这些行。

egrep 的功能比grep 更强大,因为它支持更多的正则表达式特性。

二、egrep 的基本语法egrep 的基本语法如下:```egrep [选项] 模式文件```其中,选项包括:- -i:忽略大小写- -n:显示匹配行的行号- -v:反转匹配,输出不匹配的行- -r:递归查找目录下的所有文件- -w:只匹配整个单词- -c:显示匹配的行数而非具体内容模式是用正则表达式编写的,它可以用来匹配文件中的内容。

文件可以是一个或多个,可以是目录或单个文件。

三、egrep 的高级特性egrep 支持许多高级特性,例如:1.反向引用:用反斜杠()引用前面出现过的组,例如,要匹配“hello1world”,可以使用反向引用。

2.分组:用圆括号(( ))将一部分正则表达式组合起来,以便稍后引用。

3.修饰符:例如,+表示前面的字符至少出现一次,{n}表示前面的字符恰好出现n 次。

4.预定义的字符类:例如,[a-z] 表示小写字母,[0-9] 表示数字。

5.反义字符:例如,[^a-z] 表示除了小写字母之外的任意字符。

6.断言:例如,^表示行的开始,$表示行的结束。

Linux三剑客详解(grep、sed、awk)

Linux三剑客详解(grep、sed、awk)

Linux三剑客详解(grep、sed、awk)前⾔ 在Linux的学习和使⽤当中,⼈们常常提到的三剑客其实指的是grep、sed、awk这三个命令的简称,当熟练掌握了这⼏个命令,可以极⼤的提升运维效率。

在讲到这三个命令之前,我们得先了解什么是正则表达式,正则表达式是学习三剑客的基础和前提。

⼀、正则表达式 正则表达式:Regular Expression,描述了⼀种字符串匹配的模式(pattern),可以⽤来检查⼀个串是否含有某种⼦串、将匹配的⼦串替换或者从某个串中取出复核某个条件的⼦串等。

标准正则表达式:元字符:. 匹配任意单个字符[] 匹配指定范围内的任意单个字符[^] 匹配指定范围外的任意单个字符字符集合:[:alnum:] 代表英⽂⼤⼩写字符及数字,亦即 0~9、A~Z、a~z[:alpha:] 代表任何英⽂⼤⼩写字符,亦即 A~Z、a~z[:blank:] 代表空格键与[tab]按键两者[:cntrl:] 代表键盘上⾯的控制按键,包括CR、LF、Tab、Del等[:digit:] 代表数字⽽已,即 0~9[:graph:] 除了空格符(空格键与[tab]按键)外的其他所有按键[:lower:] 代表⼩写字符,即 a~z[:print:] 代表任何可以被打印出来的字符[:punct:] 代表标点符号(punctuation symbol),亦即 : " ' ? ! ; : # $[:upper:] 代表⼤写字符,即 A~Z[:space:] 代表会产⽣空⽩的字符,包括空格键、[tab]、CR等[:xdigit:] 代表⼗六进制的数字类型,因此包括 0~9、A~F、a~f 的数字与字符匹配次数(贪婪模式):* 匹配其前⾯的字符任意次?匹配其前⾯的字符0次或者1次+ 匹配其前⾯的字符⾄少1次.* 任意长度的任意字符位置锚定:^ 锚定⾏⾸,此字符后⾯的任意内容必须出现在⾏⾸$ 锚定⾏尾,此字符后⾯的任意内容必须出现在⾏尾^$ 空⽩⾏因为在Linux系统中shell解释器的特殊处理,某些元字符在linux下具有展开式等特殊含义,在实际使⽤过程中,我们需要添加 / 对其进⾏转义。

egrep用法汇总

egrep用法汇总

egrep用法汇总egrep是一个用于搜索和过滤文本的Linux/Unix命令行工具,它提供了强大的正则表达式支持,可以让你根据给定的搜索模式来查找和匹配文本。

下面是egrep使用的一些例子和用法,可以帮助你更好地掌握和了解这个命令行工具。

1. 基本用法egrep命令可以从文件或标准输入中读取文本,格式如下:egrep pattern fileegrep pattern < filecommand egrep pattern其中,pattern是你要查找或过滤的文本模式,file是你要从中搜索文本的文件名,和用于传输文本的管道命令command。

例如,要查找一个名为file.txt中所有包含单词test的行,可以执行以下命令:egrep "test" file.txt2. 使用正则表达式egrep可以使用正则表达式来查找和匹配文本。

例如,要查找字符串中所有以abc开头的行,可以使用以下命令:egrep "^abc" file.txt在正则表达式中,^表示行首,abc表示要匹配的字符串。

3. 使用通配符egrep还支持使用通配符进行模式匹配。

例如,要查找所有以test开头和结尾的行,可以使用以下命令:egrep "^test.*test" file.txt其中,^test匹配以test开头的行,test匹配以test结尾的行,.*表示任意字符串。

4. 特殊字符转义在正则表达式中,有些字符被视为特殊字符,例如圆括号、分号等,如果你要查找这些特殊字符本身,需要使用反斜线\进行转义。

例如,要查找所有包含括号()的行,可以使用以下命令:egrep "\\(" file.txt其中,\\表示转义,\(表示左括号。

5. 查找重复出现的内容egrep可以查找包含重复内容的行。

例如,要查找所有重复出现的单词,可以使用以下命令:egrep "([A-Za-z]+) \1" file.txt其中,([A-Za-z]+)表示匹配一个或多个字母组成的单词,\1表示重复出现的内容。

egrep 逻辑或

egrep 逻辑或

egrep 逻辑或egrep逻辑或是一个强大的命令行工具,它可以帮助用户在文本中搜索和匹配满足特定条件的内容。

使用egrep逻辑或可以更加灵活地进行搜索,提高工作效率。

本文将介绍egrep逻辑或的使用方法和一些实际应用场景。

让我们来了解一下egrep逻辑或的基本语法。

在使用egrep命令时,可以使用竖线符号(|)来表示逻辑或的关系。

例如,要在文本中搜索同时包含关键词A或关键词B的内容,可以使用以下命令:```egrep "关键词A|关键词B" 文件名```在使用egrep逻辑或时,有一些需要注意的地方。

首先,关键词之间要用竖线符号进行分隔,不要加空格。

其次,关键词可以是完整的单词,也可以是单词的一部分。

此外,在使用egrep逻辑或时,可以使用括号来进行分组,以便更加清晰地表达搜索条件。

接下来,我们将通过一些实际应用场景来说明egrep逻辑或的使用方法。

假设我们要在一个文件中搜索包含关键词A或关键词B的行。

我们可以使用以下命令:```egrep "关键词A|关键词B" 文件名```此命令将输出所有包含关键词A或关键词B的行,而不会输出其他行。

假设我们要在一个日志文件中搜索同时包含关键词A和关键词B的行。

我们可以使用以下命令:```egrep "关键词A.*关键词B|关键词B.*关键词A" 文件名```此命令将输出所有同时包含关键词A和关键词B的行,而不会输出其他行。

在这个例子中,我们使用了.*表示任意字符的重复出现。

假设我们要在一个代码文件中搜索包含关键词A或关键词B的行,但不包含关键词C的行。

我们可以使用以下命令:```egrep "(关键词A|关键词B)" 文件名 | egrep -v "关键词C"```此命令将输出所有包含关键词A或关键词B,但不包含关键词C的行。

在这个例子中,我们使用了-v选项来反转匹配结果。

egrep的用法

egrep的用法

egrep的用法一、什么是egrepegrep是Linux/Unix系统中的一个命令行工具,用于在文本文件中搜索指定的模式。

它是grep命令的扩展版本,增加了对正则表达式的支持。

egrep的全称是extended grep,它使用的是POSIX扩展正则表达式语法。

二、egrep的基本语法egrep的基本语法如下:egrep [选项] 模式文件其中,选项用于指定搜索的模式和文件,模式是要匹配的字符串或正则表达式,文件是要进行搜索的文件名或文件列表。

1. 模式模式可以是普通的字符串,也可以是正则表达式。

如果模式是字符串,则egrep会在文件中搜索完全匹配该字符串的行。

如果模式是正则表达式,则egrep会在文件中搜索满足该正则表达式的行。

2. 文件文件可以是单个文件名,也可以是多个文件名的列表。

如果文件名是一个目录,则egrep会搜索该目录下的所有文件。

如果文件名是一个通配符表达式,egrep会搜索匹配该表达式的文件。

三、egrep的常用选项egrep有一些常用的选项,用于指定搜索的模式和文件。

下面是一些常用的选项:1. -i该选项用于忽略模式的大小写。

例如,如果模式是”hello”,那么egrep会匹配”Hello”、“HELLO”等不同大小写形式的字符串。

2. -v该选项用于反向匹配,即只显示不匹配模式的行。

例如,如果模式是”hello”,那么egrep会显示所有不包含”hello”的行。

3. -r该选项用于递归搜索目录下的所有文件。

如果文件名是一个目录,则egrep会搜索该目录下的所有文件。

4. -n该选项用于显示匹配行的行号。

例如,如果文件中有多个匹配行,egrep会显示每个匹配行的行号。

5. -o该选项用于只显示匹配模式的部分。

例如,如果模式是”hello”,那么egrep会只显示匹配”hello”的部分,而不显示整行。

四、egrep的实例演示下面是一些实例演示,展示了egrep的用法和效果。

grep -e命令详解正则

grep -e命令详解正则

grep -e命令详解正则grep -e命令用于在文件中搜索匹配指定模式的文本行。

它支持使用正则表达式进行模式匹配。

使用格式为:grep -e pattern file其中,pattern表示要搜索的模式,可以是简单的字符串,也可以是复杂的正则表达式。

file表示要搜索的文件名。

常用选项:-i:忽略大小写-v:只显示不匹配的行-n:显示行号-r:递归搜索目录下的文件-c:显示匹配的行数正则表达式的使用:1. 普通字符:普通字符表示它们本身,例如a表示字符"a"。

2. 元字符:元字符是一些特殊字符,具有特殊的含义,例如"."表示任意一个字符,"*"表示前一个字符的零个或多个副本。

3. 字符类:使用方括号[]表示,表示匹配方括号中的任意一个字符。

例如[a-z]表示小写字母a到z中的任意一个字符。

4. 重复限定符:用于限定某个模式的重复次数。

例如*表示0次或多次,+表示1次或多次,?表示0次或1次,{n}表示重复n次,{n,}表示至少重复n次,{n,m}表示重复n到m次。

5. 锚定字符:用于限定某个模式的位置。

例如^表示行的起始位置,$表示行的结束位置。

示例:1. 搜索文件中包含"hello"的行:grep -e "hello" file.txt2. 搜索文件中以"abc"开头的行:grep -e "^abc" file.txt3. 搜索文件中以"xyz"结尾的行:grep -e "xyz$" file.txt4. 搜索文件中包含数字的行:grep -e "[0-9]" file.txt5. 搜索文件中以字母开头,后面跟着数字的行:grep -e "^[a-zA-Z][0-9]" file.txt以上是grep -e命令详解正则的介绍,希望对你有帮助!。

Linux文本三剑客超详细教程---grep、sed、awk

Linux⽂本三剑客超详细教程---grep、sed、awk awk、grep、sed是linux操作⽂本的三⼤利器,合称⽂本三剑客,也是必须掌握的linux命令之⼀。

三者的功能都是处理⽂本,但侧重点各不相同,其中属awk功能最强⼤,但也最复杂。

grep更适合单纯的查找或匹配⽂本,sed更适合编辑匹配到的⽂本,awk更适合格式化⽂本,对⽂本进⾏较复杂格式处理。

1、grep1.1 什么是grep和egrep Linux系统中grep命令是⼀种强⼤的⽂本搜索⼯具,它能使⽤正则表达式搜索⽂本,并把匹配的⾏打印出来(匹配到的标红)。

grep全称是Global Regular Expression Print,表⽰全局正则表达式版本,它的使⽤权限是所有⽤户。

grep的⼯作⽅式是这样的,它在⼀个或多个⽂件中搜索字符串模板。

如果模板包括空格,则必须被引⽤,模板后的所有字符串被看作⽂件名。

搜索的结果被送到标准输出,不影响原⽂件内容。

grep可⽤于shell脚本,因为grep通过返回⼀个状态值来说明搜索的状态,如果模板搜索成功,则返回0,如果搜索不成功,则返回1,如果搜索的⽂件不存在,则返回2。

我们利⽤这些返回值就可进⾏⼀些⾃动化的⽂本处理⼯作。

egrep = grep -E:扩展的正则表达式(除了\< , \> , \b 使⽤其他正则都可以去掉\)1.2 使⽤grep1.2.1 命令格式grep [option] pattern file1.2.2 命令功能⽤于过滤/搜索的特定字符。

可使⽤正则表达式能多种命令配合使⽤,使⽤上⼗分灵活。

1.2.3 命令参数常⽤参数已加粗-A<显⽰⾏数>:除了显⽰符合范本样式的那⼀列之外,并显⽰该⾏之后的内容。

-B<显⽰⾏数>:除了显⽰符合样式的那⼀⾏之外,并显⽰该⾏之前的内容。

-C<显⽰⾏数>:除了显⽰符合样式的那⼀⾏之外,并显⽰该⾏之前后的内容。

grep指令用法

grep指令用法grep指令用法简介grep是一个在Unix、Linux和类Unix系统中常用的命令,用于搜索文本文件中的匹配行。

它是全称为“global/regular expression/print”的缩写,意为全局/正则表达式/打印。

用法一:基本搜索简单的用法是在命令行中输入grep,后接要搜索的关键词以及要搜索的文件名。

例如:grep keyword filename这将在给定的文件中搜索所有包含关键词的行,并将它们显示在屏幕上。

如果要搜索多个文件,只需要在文件名之后加上更多的文件名。

用法二:显示匹配行的行数使用-c选项可以显示匹配行的行数。

例如:grep -c keyword filename这将输出匹配行的数量,而不是实际的匹配行。

这在统计匹配行数或判断一个文件中是否包含关键词时很有用。

用法三:忽略大小写默认情况下,grep是区分大小写的。

如果要忽略大小写进行搜索,可以使用-i选项。

例如:grep -i keyword filename这将搜索文件中包含关键词的行,无论其大小写如何。

用法四:递归搜索通过使用-r选项,grep可以递归搜索指定目录及其子目录中的文件。

例如:grep -r keyword directory这将搜索指定目录下的所有文件,并显示包含关键词的行。

用法五:使用正则表达式grep支持使用正则表达式进行高级搜索。

可以在搜索模式中使用通配符、字符类和其他正则表达式元字符。

例如,grep '' filename将匹配包含”keyword”后跟任意字符然后是”d”的行。

用法六:选项的组合使用可以同时使用多个选项进行更复杂的搜索。

例如,grep -i -r'keyword' directory将忽略大小写地递归搜索指定目录及其子目录中的文件,并显示匹配的行。

用法七:将匹配行输出到文件通过使用>运算符,可以将grep命令的输出重定向到文件中。

多个grep用法

多个grep用法
多个grep的用法如下:
1. 查找单个字符串:在文件中查找一个字符串,可以使用以下命令:grep"string"filename。

例如,要查找文件中包含字符串"hello"的所有行,可以使用以下命令:grep"hello"。

2. 查找多个字符串:可以使用grep命令来查找多个字符串。

可以使用管道符()将多个字符串组合在一起。

例如,要查找文件中包含字符串"hello"或"world"的所有行,可以使用以下命令:grep"helloworld"。

3. 使用正则表达式查找模式:grep命令还支持使用正则表达式来查找模式。

以下是一些常用的正则表达式:^匹配行的开头、$匹配行的结尾、.匹配任
意字符、匹配前面的字符0次或多次、+匹配前面的字符1次或多次、?匹
配前面的字符0次或1次、[]匹配中括号中的任意一个字符、[^]匹配不在
中括号中的任意一个字符。

例如,要查找文件中以"hello"开头的所有行,可以使用以下命令:grep"^hello"。

此外,还可以使用grep命令的选项来控制搜索行为。

例如,-i选项可以忽
略大小写,-r选项可以递归搜索目录等。

总之,grep是一个强大的文本搜索工具,通过结合正则表达式和其他选项,可以实现更复杂的搜索需求。

Linux三剑客之grep全局搜索正则表达式

grep全局搜索正则表达式global RE printing(grep)grep家族有三个:grep,egrep,fgerp其中fgerp不支持正则表达式。

如果需要搜素字符串,不需要使用元字符,可以用fgerp比较快。

grep 文本过滤工具或文本匹配工具,能够实现根据指定的“模式“逐行搜索文件内容,并将匹配到的行显示出来。

并不一定是全部匹配。

模式:是由正则表达式的元字符,其他字符组成的匹配条件。

正则表达式(RE)正则表达式(RE):又称正规表示法、常规表示法,计算机科学的一个概念。

正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。

在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

正则表达式(REGEXP)分为两类:Basic RE (基本正则表达式)Extended RE (扩展正则表达式)比基本强大。

命令格式:grep [option] ….. ‘PATTERN’文件名……………. (option,选项的意思。

PATTERN:模式。

)[option]选项:--color :显示颜色。

-v :显示没有被模式匹配到的行,取反。

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

-i :不考虑大小写。

-n :顺便输出行号。

例子:[root@en script]# grep -o "root" /etc/passwdrootrootrootroot[root@en script]#[root@en ~]# grep 'dwzhang' /etc/passwd‘dwzhang’:在引用变量时,需要用双引号。

[root@en init.d]# grep "\$?" ypbindretval=$?retval=$?retval=$?retval=$?retval=$?exit $?[root@en init.d]#例子:[root@en ~]# grep 'dwzhang' /etc/passwddwzhang:x:500:500::/home/dwzhang:/bin/bash[root@en ~]#[root@localhost log]# grep 'cpu' /proc/cpuinfo(只显示包含cpu的字符)(-v显示不包含cpu) cpu family : 6cpu MHz : 2369.039cpuid level : 13[root@localhost log]#(--color=auto :匹配的字符用颜色高亮显示出来。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

对日期格式 d d - m m - y y y y
[ 0 - 9 ] " { 3 " } " . [ 0 - 9 ] " { 3 " } " . [ 0 - 9 ] " { 3 " } " . [ 0 - 9 ] " { 3 " } I P 地址格式
[^.*$]
匹配任意行
[A-Za-z]*
匹配所有单词
[0-9]
[[:alpha:]]
[ a - zA- Z ]
大多数系统管理员称 / d e v / n u l l 为比特池, 可以将之看成一个无底洞,有进没有出,永 远也不会填满。
要查看 D N S 服务器是否正在运行(通常称为 n a m e d),方法如下 ps -ef | grep "name"|grep -v "grep"
匹配行中任意字符串
^......$
包括 6 个字符的行
[a- zA-Z]
任意单字符
[a-z][a-z]*
至少一个小写字母
[^0-9"$]
非数字或美元标识
[ ^ 0 - 0 A - Z a - z ] 非数字或字母
[123]
1 到 3 中一个数字
[Dd]evice
单词 d e v i c e 或 D e v i c e
对用户、用户组及其他用户组成员有可执行权限的目录
^[^l]
排除关联目录的目录列表
^[^d]
ls –l | grep ^[^d] 只显示非文件夹的文件
[.*0]
0 之前或之后Байду номын сангаас任意字符
[000*]
0 0 0 或更多个
[ iI]
大写或小写 I
[iI][nN]
大写或小写 i 或 n
[^$]
空行
[^.*$]
grep –E ‘219|216’ tab2
g r e p 允许使用国际字符模式匹配或匹配模式的类名形式。

等价的正则表达式
[[:upper:]]
[ A- Z ]
[[:alnum:]]
[ 0 - 9 a - zA-Z]
[[:lower:]] [[:space:]]
[a-z] 空格或 t a b 键
[[:digit:]]
De..ce
前两个字母为 D e,后跟两个任意字符,最后为 c e
"^q
以^ q 开始行
2
^.$
仅有一个字符的行
^".[0-9][0-9]
以一个句点和两个数字开始的行
'"Device"'
单词 d e v i c e
De[Vv]ice".
单词 D e v i c e 或 d e v i c e
[0-9]"{2"}-[0-9]"{2"}-[0-9]"{4"}
&& 命令 1 && 命令 2
如果这个命令 1 执行成功& &那么执行这个命 2
mv myfile myfile2 && echo "if you are seeing this then mv was success!"
|| 如果| |左边的命令(命令 1)未执行成功,那么就执行| |右边的命令(命令 2)
5
$ 锚定行的结束 如:'grep$'匹配所有以 grep 结尾的行。
. 匹配一个非换行符的字符 如:'gr.p'匹配 gr 后接一个任意字符,然后是 p。
* 匹配零个或多个先前字符 如:'*grep'匹配所有一个或多个空格后紧跟 grep 的行。 .*一起用 代表任意字符。
[] 匹配一个指定范围内的字符,如'[Gg]rep'匹配 Grep 和 grep。
x\{m\} 重复字符 x,m 次,如:'0\{5\}'匹配包含 5 个 o 的行。
x\{m,\} 重复字符 x,至少 m 次,如:'o\{5,\}'匹配至少有 5 个 o 的行。
x\{m,n\} 重复字符 x,至少 m 次,不多于 n 次,如:'o\{5,10\}'匹配 5--10 个 o 的行。
匹配单词 s i g n a l、s i g n a L、S i g n a l、S i g n a L
[Ss]igna[lL]".
同上,但加一句点
1
[ ma yMAY]
包含 m a y 大写或小写字母的行
^USER$
只包含 U S E R 的行
[tty]$
以 t t y 结尾的行
".
带句点的行
^d..x..x..x
[^] 匹配一个不在指定范围内的字符,如:'[^A-FH-Z]rep'匹配不包含 A-R 和 T-Z 的一个字母开 头,紧跟 rep 的行。
\(..\) 标记匹配字符,如'\(love\)',love 被标记为 1。
\< 锚定单词的开始,如:'\ \> 锚定单词的结束,如'grep\>'匹配包含以 grep 结尾的单词的行。
(命令 1;命令 2;. . .) 如果使用{ }来代替(),那么相应的命令将在子 s h e l l 而不是当前 s h e l l 中作为一个整体 被执行,只有在{ }中所有命令的输出作为一个整体被重定向时,其中的命令才被放到子 s h e l l 中执行,否则在当前 s h e l l 执行。
3
grep -c "Sort" tab2
只输出匹配行的计数
精确匹配: grep "01">" tab2
grep -in "code" tab2 忽略大小写
多次过滤
grep -in "code" tab2 | grep "02"
使用 grep 匹配“与”或者“或”模式
g r e p 命令加- E 参数,这一扩展允许使用扩展模式匹配。例如,要抽取城市代码为 2 1 9 或 2 1 6,方法如下:
常用的 g r e p 选项 -c 只输出匹配行的计数。 -i 不区分大小写(只适用于单字符)。 -h 查询多文件时不显示文件名。 -l 查询多文件时只输出包含匹配字符的文件名。 -n 显示匹配行及行号。 -s 不显示不存在或无匹配文本的错误信息。 -v 显示不包含匹配文本的所有行。 例子 grep -v "Sort" tab2 显示不包含匹配文本的所有行 grep -n "Sort" tab2 显示匹配行及行号
例子:
如果 s o r t 命令执行成功了,可以先将输出文件备份,然后再打印
test.sorted && (cp test.sorted test.sorted_bak ;lp test.sorted)
经常使用的正则表达式举例 ^
行首
$
行尾
^[the]
以 t h e 开头行
[ S s ] i g n a [ l L]
\w 匹配文字和数字字符,也就是[A-Za-z0-9],如:'G\w*p'匹配以 G 后跟零个或多个文字或数 字字符,然后是 p。
\W \w 的反置形式,匹配一个或多个非单词字符,如点号句号等。
\b 单词锁定符,如: '\bgrepb\'只匹配 grep。
6
4
egrep e g r e p 接受所有的正则表达式,一个显著特性是可以以一个文件作为保存的字符串,然后 将之传给 e g r e p 作为参数,为此使用- f 开关。
egrep -f par2 tab2 par2 是文件,里面包括各种匹配的具体格式
如果要查询存储代码 3 2 L 或 2 C C,可以使用(|)符号,意即“|”符号两边之一或全部。
egrep '(Code|Sort)' tab2
以下为整理的 grep 正则表达式的大部分功能,详细参见 man grep:
要用好 grep 这个工具,其实就是要写好正则表达式,所以这里不对 grep 的所有功能进行实 例讲解,只列几个例子,讲解一个正则表达式的写法。
$ ls -l | grep '^a' 通过管道过滤 ls -l 输出的内容,只显示以 a 开头的行。
$ grep 'test' d* 显示所有以 d 开头的文件中包含 test 的行。
$ grep 'test' aa bb cc 显示在 aa,bb,cc 文件中匹配 test 的行。
$ grep '[a-z]\{5\}' aa 显示所有包含每个字符串至少有 5 个连续小写字符的字符串的行。
$ grep 'w\(es\)t.*\1' aa 如果 west 被匹配,则 es 就被存储到内存中,并标记为 1,然后搜索任意个字符(.*),这些 字符后面紧跟着另外一个 es(\1),找到就显示该行。如果用 egrep 或 grep -E,就不用"\"号 进行转义,直接写成'w(es)t.*\1'就可以了。 grep 正则表达式元字符集(基本集) ^ 锚定行的开始 如:'^grep'匹配所有以 grep 开头的行。
mv myfile myfile2 && echo "if you are seeing this then mv was success! "
相关文档
最新文档