Linux新手必须掌握的之grep及正则表达式

正则表达式引擎git

  grep [OPTIONS] PATTERN [FILE...]正则表达式

    选项:spa

      --color=auto:对匹配到的文本着色显示,例如:3d

      

      -v:显示不能被PATTERN匹配到的,例如:先查看文档里内容,再经过-v来查看blog

      

      -i:忽略字母大小写文档

      -o:仅显示匹配到的字符串字符串

      -q:不输出任何信息,若是想知道是否成功,能够用  echo $?  命令来查看it

      

      -A + 数字 :显示匹配到的行及后n行grep

      -B + 数字:显示匹配到的行及前n行im

      -C + 数字:显示匹配到的行及先后各n行。例如:

      

基本正则表达式元字符

  字符匹配

    .  :匹配任何单个字符

       [ ]:匹配指定范围内任意单个字符,例如:[0-9]匹配任意一个数字

    [^]:匹配指定范围外的任意单个字符,例如:[^0-9]匹配任意一个非数字

    [:digit:]:任意数字

    [:lower:]:任意小写字母

    [:upper:]:任意大写字母

    [:alpha:]:任意字母

    [:alnum:]:任意数字或字母

    [:punct:]:任意标点符号

    [:space:]:空格

  匹配次数:用在要指定次数的字符后面,意思是前面这个字符出现的次数  

    * :匹配任意个字符,例如:x*y能够表示:xaaay,xay,x12y等

    .*:匹配任意长度的任意字符

    \?:匹配前面字符0次或1次

    \+:匹配前面字符1次或屡次

    \{m\}:匹配前面字符m次

    \{m,n\}:匹配前面字符至少m次,最多n次

      \{0,n\}:匹配前面字符最多n次

      \{m,\}:匹配前面字符最少m次

  位置锚定:

    ^:行首锚定,用于最左侧

    $:行尾锚定,用于最右侧

      因此,^$表明,空行

    ^PATTERN$:匹配整行

    \<或\b:词首锚定,用于单词模式的左侧

    \>或\b:词尾锚定,用于单词模式的右侧

    \<PATTERN\>:匹配整个单词

  分组:

    \(\):将一个或多个字符捆绑在一块儿,当作一个总体处理,例如:\(xy\)*ab能够当作xyab,xyxyab,xyxyxyab等

相关文章
相关标签/搜索