shell腳本-grep和正則表達式


1、grep程序
    1)命令:grep egrep fgrep,用來進行 行模式(pattern手動寫)匹配的
       egrep = grep -E     //使用正則表達式進行匹配    
       fgrep = fast grep  //只使用文件通配符進行匹配
       *grep默認使用正則表達式進行文本匹配
    2)用法:
       grep[option]...PATTERN[filename]
    3)常見選項(option):
       -E 支持使用擴展的正則表達式(regexp)
       -P 使用Perl語言的正則表達式引擎進行搜索(每種語言的正則表達式引擎都不相同,甚至grep、sed、awk使用的regexp的引擎也不相同)
       -c 統計計數
       *-i 忽略大小寫
       *-v 進行反選
       *-o 僅僅輸出匹配的內容(默認輸出是匹配到的行)
       --color=auto 語法zhuose
       -n 顯示行號
       -w 匹配固定單詞
2、PATTERN -- 正則表達式
  作用:通過一些特殊字符,來表示一類字符內容,然后交給前面的命令來執行;如果使用特殊字符本身含義,需要使用\來進行轉義
    文件通配符:
       *:任意長度任意字符
       ?:任意一個字符
    正則表達式:
      1)字符匹配
          .任意一個字符
          | 或
          [] 范圍內任意一個字符
          [^] 范圍外任意一個字符
          字符類:[:digit:][:alnum:][:alpha][:space:][:punct:]
      2)次數匹配
         \* 匹配前面的一個字符0次到n次
         \?匹配前面的一個字符0次到1次
         \+ 匹配前面的一個字符1次到n次
         \{m\}匹配前面的一個字符m次
         \{m,n\}匹配前面的一個字符m到n次
             \{0,n\}匹配前面的字符0次到n次
         \{m\}匹配前面一個字符至少m次
       3)位置錨定
          ^ 錨定行首
          $ 錨定行尾
          \b 錨定詞首和錨定詞尾
          \> 錨定詞尾
              \< 錨定詞首  \<root\>
        4)分組
           \(\) 示例:\(abc\)* 把abc看成一個整體
          *分組特性:默認情況下,Linux系統會為分組指定變量,變量的表示形式\1\2\3..


免責聲明!

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



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