正则(一)

一 正则介绍

    egrep是grep的扩展,能用grep实现的,用egrep都能实现spa

 1.grep经常使用选项

    1)标准用法: grep '单词' 文件名;grep默认自带color选项扩展

    2)-c : count行数,表示过滤出来的内容共有多少行遍历

    3)-n: number行号grep

    4)-i:过滤时不区分大小写im

    5)-v:取反,以下图就是取不包含nologin的行img

    6)-r:遍历全部子目录文件

    7)-A:co

    8)-B字符

    9)-C数字

2.grep/egrep示例

    1)grep '[0-9]' 文件名

        过滤出带数字的行

     2)grep -v '[0-9]' 文件名

        过滤出不包含数字的行

    3)grep -v '^#' 文件名

        ^#表示以#开头的行

    4)grep -v '^#' 文件名|grep -v '^$'

    5)grep '[^0-9]' 文件名

            此处的^表示‘非’的意思,这个表达式表示过滤出不包含数字的单个字符

    6)grep '^[^0-9]' 文件名

        过滤出以非数字开头的

    7)grep 'r.o' 文件名

        其中.表示任意一个字符,此表达式表示过滤出来三个字符,这三个字符以r开头,以o结尾,中间字符能够是任意一个字符

    8)grep ‘o*o’ 文件名

        其中的*表示其前面字符o重复的次数,重复次数能够是0-n,n表示一个随意的数字

    9)grep ‘.*’ 文件名

        .*表示任意个数的任意字符;此表达式能够匹配全部字符,包括空格

    或者匹配某行

    10)grep 'o\{2\}' 文件名

        上面的{}表示前面一个字符重复的范围,此处过滤出o连续出现两次的内容

 

        grep 'o\{0,3\}' 文件名:{0,3}表示范围0-3,即0/1/2/3都可

     若是不想使用脱义字符\  那么可使用这个命令# egrep 'o{2}' 文件名

    或者给grep加上-E的选项

    若是{}要表示多个字符重复的次数,能够将前面多个字符用小括号()括起来

    11)egrep ‘o+o’ 文件名

        其中的+表示前面字符重复次数,但这个重复的次数不能为0,只能>=1

    12)egrep ‘o?t’ 文件名

        其中的?表示前面字符重复次数,但这个重复的次数只能为0或者1

    13)grep -E root|nologin

            |表示或者

相关文章
相关标签/搜索