码迷,mamicode.com
首页 > 其他好文 > 详细

正则表达式——grep

时间:2014-09-09 13:35:19      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:正则表达式linux——grep的用法

    不管是在Linux下还是在windows下,以及一些编程语言中都要用到正则表达式,这足以说明正则表达式的重要性,今天就让我们来熟悉一下Linux下的grep的正则表达式。

    

    首先什么是正则表达式:正则表达式就是一套处理大量字符串而定义的规则和方法。利用正则表达式可以快速过滤、替换需要的内容。Linux政策表达式是以行为单位处理的。


    其次为什么学习正则表达式:Linux运维工作,时刻面临着大量日志、程序、命令的输出,熟练地掌握正则表达式可以提高你的工作效率。


    基于grep的正则表达式:

1.^ : ^word表示搜素以word开头的内容。

2.$ : word$表示搜素以word结尾的内容。

3.^$: $表示文章的结尾,而^$表示以结尾开头的内容,意思就是空行作为开头

      例子:grep "^$" test 就表示输出test文件里面的空行的所有内容。

            grep -v "^$" test 就表示输出test文件里面的不包含空行的所有行。

4.: .代表且只能代表任意一个字符

      例子: grep "old.y" test 表示查找test文件中的前面为old,结尾为y的单词。

             grep ".$" test 表示将test文件中的以任意字符结尾。

5.\ : \代表转义字符,让有特殊身份意义的字符,脱掉马甲,还原原型

      例子:\.在这里的点不在代表任意一个字符的意思,而是一个普通的点。

            grep "\.$" test 表示过滤除test文件中的以点结尾的行。

6.* :表示重复0个或多个前面的一个字符

      例子:"0*" 表示重复前面0字符的行。

7..* : 表示匹配所有的字符

      例子:grep ".*" test 表示过滤出重复前面任意一个字符的行。

8.[abc]:表示匹配字符集中的任意一个字符

9.[^abc]:^在这里表示非,即不包含a或b或c的字符串

          grep "[^0-9]" test 匹配不是数字的行。

10.{n,m}:表示重复n到m次前一个字符


#完结


附:

grep的一些参数:

grep -v 表示排除匹配的内容

     -E 支持扩展的正则表达式

     -i 忽略大小写

     -o 表示只输出匹配的内容

     -n 显示行号

本文出自 “李云娜----IT女将” 博客,请务必保留此出处http://liyunna.blog.51cto.com/9151125/1550086

正则表达式——grep

标签:正则表达式linux——grep的用法

原文地址:http://liyunna.blog.51cto.com/9151125/1550086

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!