linux期末复习正则_第1页
linux期末复习正则_第2页
linux期末复习正则_第3页
linux期末复习正则_第4页
linux期末复习正则_第5页
已阅读5页,还剩4页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1 什么是正则表示法: Linux提供了许多工具如awk,sed,grep等,可帮助管理员进行分析搜索工作,它们有一个共性就是支持“正则表示式”。 “正则表示式”是一种模式匹配语言,有点类似文件名的通配符,但远比他们复杂。例如:在passwd中查找用户名只含字母的用户。awk F : print $1|grep A-Za-z+2正则表示法的广泛用途: 对于系统管理员来说,正则表示法则是一个不可不学的好东西!由于系统如果在繁忙的情况之下,每天产生的讯息信息会很多。我们可以透过正则表示法的功能,将这些信息进行处理,仅取出需要的信息来进行分析。 除了系统管理员之外,一大堆的软件与设定都是支持正则表示

2、法的,最常见的例子就是邮件服务器!您是否有常常收到电子邮件里最让人诟病 的广告信件呢?那如果在 Server 端就将广告信件给剔除的话,客户端就会减少很多不必要的频宽损耗了对吧!那么如何剔除广告信件呢?由于广告信件几乎都有一定的标题或者是内容,因此,只要 每次有来信时,都先将来信的标题与内容进行特殊字符串的比对,使用正则表示法发现有不良信件就予以剔除!目前两大服务器软件sendmail 与 postfix 都支持正则表示法的比对功能!很多的服务器软件、以及套件都支持正则表示法。 3、正则表达式语法(1)正则表达式语法较为复杂,这里介绍其基本语法和基本用法。(1)、字符类有两种:元字符:有特殊含

3、义,如,$,?,*直接量字符:代表它们自己,以字面意思解释,如a,b等(2)、三个基本概念:锚点,字符类,修辞符a、锚点:行首 $行尾 字词数字之右,空白标点之左 kgf .;b、字符类:在范围内,如A-Z 不在范围内,如A-Z .除了n之外的任何单一字符。w ASCII字符,相当于A-Za-z0-9_ epgrep,sed适用w 非ASCII字符,相当于A-Za-z0-9_ epgrep,sed适用例:test例:test1、找出含有linux或Linux的行2、找出含有linux或Linux单词的行2、找出以“Linux”开始的行3、找出以”x”结尾的行4、计算空白行的行数5、找出只含”l

4、inux”这几个字母的行6、找出文中任何含三个相邻数字的行7、找出文中第4个字符开始是三个相邻数字的行8、找出含有5个字符以上(n除外)的行9、找出非空白行10、找出以”#”或”.”开始的行grep Llinux testgrep Linux testgrep x$ testgrep n $ test |wc -lgrep linux$ testgrep testgrep n . testgrep #. testgrep 0-90-90-9 testgrep .0-90-90-9 testgrep . test3、正则表达式语法(2)c、修辞符:例:/etc/lprofile基本正则扩展正则(

5、略)说明*出现0次或多次+出现1次或多次?出现0次或1次n,mn,m出现次数介于n和m之间n,n,出现次数n次以上nn出现次数n次|左侧模式或右侧模式(或)(regex)(regex)作为整体存到临时变量(1.2,)例,do(es)? 可以匹配 do 或 does 。例:test1、找出全是空格的行2、找出含有”ab”,”abc”,”abcc”,”abccc”的行3、找出含有”abc”,”abcc”,”abccc”的行(不含”ab”)4、找出文中两个以上相邻数字的行5、找出含有”file”,”file1”,”file2”的行(file后面只跟一个数字)6、找出至少含有一个数字的行7、找出文中含

6、有3,4,5位数字的行,数字应是单独成词的。8、找出只含数字和字母的行grep n “ *$” test.txt grep n “0-92,” test.txt grep n “” test.txt grep “0-9A-Za-z*$ 或 grep “0-9|A-Z|a-z*$”3、正则表达式元字符集(基本集)(1)正则表达式包含元字符集和普通字符。 :锚定行的开始 如:grep匹配所有以grep开头的行。 $ : 锚定行的结束 如:grep$匹配所有以grep结尾的行。 . : 匹配一个非换行符的字符 如:gr.p匹配gr后接一个任意字符,然后是p。 : 匹配一个指定范围内的字符,如Ggre

7、p匹配Grep和grep。 : 匹配一个不在指定范围内的字符,如:A-FH-Zrep匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。 : 锚定单词的开始,如: : 锚定单词的结束,如grep匹配包含以grep结尾的单词的行。 查询有特殊含义的字符,诸如$ . * | + ? ,必须在特定字符前加。假设要查询包含.的所有行,如下:$ grep . myfile3、正则表达式元字符集(基本集)(2)xm 重复字符x,m次,如:05匹配包含重复5个o的行。 xm, 重复字符x,至少m次,如:o5,匹配至少有重复5个o的行。 xm,n 重复字符x,至少m次,不多于n次,如:o5,10匹配5-1

8、0个o的行。w 匹配文字和数字字符,也就是A-Za-z0-9,如:Gw*p匹配以G后跟零个或多个文字或数字字符,然后是p。W w的反置形式,匹配一个或多个非单词字符,如点号句号等。* : 匹配零个或多个先前字符 如:zo* 能匹配 “z” 以及 “zoo”。 * 等价于0,。 .*一起用代表任意字符。+ :匹配前面的子表达式一次或多次。例如,zo+ 能匹配 zo 以及 zoo,但不能匹配 z。+ 等价于 1,。 ? :匹配前面的子表达式零次或一次。例如,do(es)? 可以匹配 do 或 does 中的do 。? 等价于 0,1。 4、正则表达式举例1、如果要抽出记录,使其行首不是4 8, 2、在main.cc中查找空行 3、显示所有包含每个字符串至少有5个连续小写字符的字符串的行。4、抽取包含数字4至少重复出现两次的所有行 5、数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论