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等

相關文章
相關標籤/搜索