RHCE(第二部分)-----第七章:正则表达式

第七章、正则表达式

文本搜索工具—grep

grep(Global search REgular expression and Print out the line.)是一种强大的文本搜索工具,它能使用特定模式匹配(包括正则表达式)搜索文本,并默认输出匹配行。Unix的grep家族包括grep、egrepfgrep。Windows系统下类似命令FINDSTR

grep  [option...] 'pattern'  [FILENAME]
参数
-n  :显示行号
-o  :只显示匹配的内容
-q  :静默模式,没有任何输出,得用$?来判断执行成功没有,即有没有过滤到想要的内容
-l  :如果匹配成功,则只将文件名打印出来,失败则不打印,通常-rl一起用,grep -rl 'root' /etc 
-A  :如果匹配成功,则将匹配行及其后n行一起打印出来
-B  :如果匹配成功,则将匹配行及其前n行一起打印出来
-C  :如果匹配成功,则将匹配行及其前后n行一起打印出来
--color
-c  :如果匹配成功,则将匹配到的行数打印出来
-E  :等于egrep,扩展
-i  :忽略大小写
-v  :取反,不匹配
-w:匹配单词
-x 仅选择与整行完全匹配的匹配项。精确匹配每行内容(包括行首行尾看不到的空格内容)
-R -r以递归方式读取每目录下的文件
指定过滤器
--exclude-dir=  指定过滤目录,排除目录顾虑选择
[root@node1 ~]# grep   -rl  'aaa' /path  --exclude-dir=2  (注:直接写子路径)
--exclude-from=file指定过滤器文件,通过文件内容指定要排除的文件名

7.1 什么是正则表达式

​ 所谓正则表达式,实际上就是用来描述某些字符串匹配规则的工具。由于正则表达式语法简练,功能强大,得到了许多程序设计语言的支持,包括Java、C++、Perl以及Shell等。对于初学者来说,首次接触正则表达式非常难以接受,本节将介绍正则表达式的入门知识,以利于后面几节的学习。

7.2 为什么使用正则表达式

​ 在进行程序设计的过程中,用户会不可避免地遇到处理某些文本的情况。有的时候,用户还需要查找符合某些比较复杂规则的字符串。对于这些情况,如果单纯依靠程序设计语言本身,则往往会使得用户通过复杂的代码来来实现。但是,如果使用正则表达式,则会以非常简短的代码来完成。

7.3基本正则表达式

​ 基本正则表达式(Basic Regular Expression,BRE),又称为标准正则表达式,是最早制订的正则表达式规范,仅支持最基本的元字符集。基本正则表达式是POSIX规范制订的两种正则表达式语法标准之一,另外一种语法标准称为扩展正则表达式,将在随后介绍。

元字符 说明
^ 以某个字符开头
$ 以某个字符结尾
. 匹配任意单字符
* 对前一项进行0次或者多次重复匹配;匹配前一个字符任意次 .* : 匹配任意字符任意次
[] 对方括号内的单字符进行匹配 [a-z] [0-9] [[::]]
[^] 不匹配方括号内的单字符
1 匹配以某个字符开头的行
\b <或\b:锚定词首(支持vi和grep)其后面的任意字符必须作为单词首部出现;>或\b:锚定词尾
\s \S 匹配任何空白字符,包括空格、制表符(\t)、换行符(\n)、回车符(\r)、换页
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值