• grep和正则表达式


    grepglobal research expression print

    是一种强大的文本搜索工具。根据关键字匹配行,然后打印含有关键字的行的内容。

    基本格式:grep   “关键字”

              grep   “关键字”   目录   在该目录下找含有关键字的文件。

    例:

     

    几个常见参数:

        -c 计算找到关键字的次数。

    -i 忽略大小写。

    -v 把没有匹配到的行显示出来。

    -o 只显示被匹配到的字符串

    -A  num     只显示匹配到的那一行的后几行。

    -B  num    只显示匹配到的那一行的前几行。

    正则表达式:

    .  任意单个字符

    例:

    a.b    表示以a开头,中间为一个任意字符,以b结尾的三个字符。

    *  前面一个字符在此重复零次或更多次。

    例:

    a*b   表示a出现任意次,b出现一次的行。(可出现的情况ab、b(a在此出现0次)、aab)

    aa*b  第一个a表示以a开头,第二个a表示a出现任意次,最终以b结尾的字符(可出现的情况有ab、aab、aaab,不可能出现b)

    [范围]  这个字符在方括号的范围内。

    [^范围] 该字符不在这个范围的任意字符。

    .*任意长度的字符

    a.*b  表示以a开头,以b结尾,a与b中间有任意长度的任意字符组成的字符串。

    ? 匹配前面的字符出现一次或0次,用的时候要有转义字符 (?)

     

    add表示a出现一次,第二个d结尾,第二个d表示a出现0次,d结尾。

    d:表示a出现0次,d结尾。

    {m,n}:前面一个字符最少出现m次,最多出现n次。使用时要添加转义字符(  {m,n}  )

     

    a{3,9}d:表示a要出现3~9次,d结尾的字符串。

    aaaaaaad:表示a出现7次(在3次和9次之间),d结尾的字符串。

    ^ 行首 “^root”:匹配以root开头的行。

    $ 行尾 “root$”:匹配以root结尾的行。

    ^任意字符$  只表示一行中只有该字符串(开头没有空格,结尾也没有空格)的行。

    例:

    ^root$  只表示这一行从开头只有一个root的字符,结尾没空格。

    ^$ 空行(和^ $是有区别的,空格也是特殊的字符。)

    <任意字符:词首。以该词开头

    任意字符>:词尾。以该词结尾。

    注:正则表达式具有贪婪模式,它会尽可能长的匹配文本,典型情况如下:

     

  • 相关阅读:
    一点一点学ASP.NET之基础概念——HttpModule
    Repeater为空时显示处理
    数据绑定控件的ItemDataBound事件与System.Data.Common.DbDataRecord
    Fckeditor编辑器添加【行距】
    gridview用法大全(二)
    Web.config自定义节点configSections
    C#中的特性(Attributes)(翻译)
    给程序员的忠告
    项目管理(转载)
    在ASP.NET 2.0中使用样式、主题和皮肤(转载)
  • 原文地址:https://www.cnblogs.com/wanglog/p/5510130.html
Copyright © 2020-2023  润新知