Shell腳本grep命令


三劍客:grep  sed  awk

  grep:文本行過濾工具

  sed:  文本行編輯器(流編輯器)

  awk: 報告生成器,輸出格式化

grep包含三個命令:

  grep egrep fgrep 。他們是用來進行行模式匹配的

  egrep:=grep -E  使用擴展的正則表達式進行匹配

  fgrep =fast grep 只使用文件通配符進行匹配

  *grep默認使用正則表達式進行文本匹配

grep的用法:

  grep [option] …PATTERN [filename]

grep的常用選項:

-E

支持使用擴展正則表達式

-P

使用perl語言的正則表達式引擎進行搜索(每一種語言的)

-I

忽略大小寫

-o

僅僅輸出匹配的內容(默認輸出的是行)

-v

進行反選

--color=auto

語法着色

-n

顯示行號

pattern--正則表達式:  

  作用:通過一些特殊字符,來表示一類字符內容,然后交給前面的命令來執行。如果使用特殊本身含義,就需要\進行轉義。

  1.字符匹配:

    . 任意一個字符 ?

    [] 范圍內的任意一個字符

    [^]范圍外的任意一個字符

    字符類:[:digit:]  [:alnum:]  [:alpha:]  [:lower:] [:upper:] [:space:] [:punct:]

  2.次數匹配

    *   匹配前面的字符0次到n次  

    \?匹配前面的字符0次到1次

    + 匹配前面的字符1次到n次

    \{m\}匹配前面的中字符m次

    \{m,n\}匹配前面的字符m到n次

    \{0,n\}匹配前面的字符0到n次

    \{m,\}  匹配前面的字符至少m次

  3.位置錨定

    ^  錨定行首

    $  錨定行尾

    \b 錨定詞首和錨定詞尾

    \>  錨定詞尾

    <\ 錨定詞首

  4.分組

    abc*  abccccc abc我們要看成一個整體

    \(\)  示例:\(abc\)*  abcabcabc  abcccc

    **分組特性:默認情況下,linux系統會為分組指定變量,,變量的表示形式\1\2\3…………

    (((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(\.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3})


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM