linux下正则表达式和grep命令的使用

linux下正则表达式和grep命令的使用

ID:8969645

大小:27.00 KB

页数:4页

时间:2018-04-13

linux下正则表达式和grep命令的使用_第1页
linux下正则表达式和grep命令的使用_第2页
linux下正则表达式和grep命令的使用_第3页
linux下正则表达式和grep命令的使用_第4页
资源描述:

《linux下正则表达式和grep命令的使用》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、Linux下正则表达式和grep命令的使用出处:互联网 作者:佚名 使用规则表达式要养成良好的习惯,就是在匹配模式的两端加上‘’。这样和shell的文件通配符号做区别。  正规表示法(RegularExdivssion,RE)  1什么是正规表示法:  什么是正规表示式(RegularExdivssion,底下简称RE)呢?简单的说,在Linux的环境下,我们可以透过『字符串以及一些特殊字符的辅助』来进行文字的比对工作,好来让使用者筛选自己所需要数据。  这些特殊的字符与搭配使用的工具,就构成了正规表示法的主轴!  例如/etc/rc.d/init.d这个目录当中好了,如

2、果你要找到一个文件内容含有mail这个字符串的文件名,要怎么搜寻呢?利用grep配合mail以及万用字符来搜寻所有的文件名『grep'mail'/etc/rc.d/init.d/*』  2正规表示法对于系统管理员的用途:  对于系统管理员来说,正规表示法则是一个『不可不学的好东西!』由于系统如果在繁忙的情况之下,每天产生的讯息信息会多到你无法想象的地步,而我们也都知道,系统的『错误讯息登录文件』的内容记载了系统产生的所有讯息,当然,这包含你的系统是否被『入侵』的纪录数据。但是系统的数据量太大了,要系统管理员的你每天去看这么多的讯息数据,想不疯掉都很难,这个时候,我们就可以

3、透过『正规表示法』的功能,将这些登录的信息进行处理,仅取出『错误』的信息来进行分析。  3正规表示法的广泛用途:  除了系统管理员之外,一大堆的软件与设定都是支持正规表示法的,最常见的例子就是『邮件服务器』!您是否有常常收到电子邮件里最让人诟病的『广告信件』呢?那如果我在Server端就将广告信件给剔除的话,客户端就会减少很多不必要的频宽损耗了对吧!那么如何剔除广告信件呢?由于广告信件几乎都有一定的标题或者是内容,因此,只要每次有来信时,都先将来信的标题与内容进行特殊字符串的比对,使用正规表示法发现有不良信件就予以剔除!目前两大服务器软件sendmail与postfix都

4、支持正规表示法的比对功能!很多的服务器软件、以及套件都支持正规表示法。  4grep  语法:[root@test/root]#grep[-acinv]'搜寻字符串'filenames-list  参数说明:  -a:将binary文件以text文件的方式搜寻数据  -c:计算找到'搜寻字符串'的次数  -i:忽略大小写的不同,所以大小写视为相同  -n:顺便输出行号  -v:反向选择,亦即显示出没有'搜寻字符串'内容的那一行!  范例:  [root@test/root]#grep'root'/var/log/secure  搜索/var/log/secure这个文件中

5、包含root的行  [root@test/root]#grep-v'root'/var/log/secure  搜索没有root的行  [root@test/root]#grep[A-Z]ANPATH/etc/man.config  说明:grep是一个很常见的指令,最重要的功能就是进行字符串数据的比对了,需要说明的是『grep在一个文件中查寻一个字符串时,他是以"整行"为单位来数据的撷取的!』  grep是最简单的正规表示法搜寻指令之一,他并不支持一些更严谨的正规表示法内容,不过,已经相当的好用。  例题一:找出这个文件里面含有know这个字符,并将行号列出来:注意,大

6、小写是不一样的  [root@test/root]#grep-n'know'regexp.txt  例题二:找出这个文件里面含有*这个字符,并将行号列出来:  [root@test/root]#grep-n'*'regexp.txt  例题三:我要将所有know不论大小写都列出来,并列出行号:  [root@test/root]#grep-ni'know'regexp.txt  注意:类似的指令还有egrep、awk、gawk、sed等,将在后面详细说明  5正规表示法的特殊字符(charaters)与egrep指令  特殊字符表示意义  ^word待搜寻的字符在行首 

7、 word$待搜寻的字符在行尾  .匹配任何一个可能的字符  跳脱符号将特殊字符变成普通字符  ?任何一个『单一』字符  *匹配模式中重复的字符  [list]列表中的字符  [range]列表中范围内的字符  [^list]反向选择,与[list]相反  [^range]反向选择,与[range]相反  {n}与前一个相同字浮连续n个  {n,m}与前一个相同字浮连续n-m个  请特别留意的是,『正规表示法的特殊字符』与一般在指令列输入指令的『万用字符』并不相同,例如,在万用字符当中,*代表的是0~无限多个字符的意

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。