POSIX字元實體:[:實體名:]:
[:alpha:]、[:lower:]、[:upper:]:字母;小寫字母;大寫字母
[:digit:]、[:xdigit:]:十進位數字;十六進位數字
[:alnum:]:字母、數字
[:punct:]:標點符號
[:space:]:空白(空格、tab、新行)
[:graph:]:可列印字元,非控制字元,不不不不 包括空格!
[:print:]:可列印字元,非控制字元,包括空格、[::]、[::]、
[:cntrl:]:控制字元
幾個模式:
-G 基本Regex模式:預設模式!: ^、$、.、*、[]、[^]、\w、\W、\<、\>、\(\)、x\{m\}、x\{m,\}、x\{m,n\}、\b..\b
-E 擴充模式:支援: +、?、||、(|)、x{m}、x{m,}、x{m,n} 擴充模式
-F 固定命名字串模式:
-P perl擴充模式:
幾個選項:
-i 忽略大小寫:
-w 單詞匹配,而不是字元匹配:相當於模式 '\b搜尋的單詞\b'
-x 整行匹配:
-v 反向匹配:
輸入參數設定:
-e |--regexp:指定Regex
-f |--file:指定搜尋的檔案
-R |-r |--recursive:對目錄下的檔案進行輪詢處理
--include=FILE_PATTERN:只搜尋指定的檔案
--exclude=FILE_PATTERN:排除搜尋指定的檔案
--exclude-from=FILE:根據FILE檔案的內容 排除搜尋指定的檔案
--exclude-dir=DIR_PATTERN:排除搜尋指定的檔案夾
-c |--count :只列印匹配到的行數,而不是實際的行內容。注意:該選項針對每一個輸入檔案,均會有輸出。可以配合-
選項統計不匹配的行數!
-l:只列印 符合 模式比對的檔案的名稱
-L:只列印 不符合 模式比對的檔案的名稱
-m n (n為非負整數)|--max-count n (n為非負整數):對每個檔案處理到n個匹配後,就停止後面的處理
如何處理二進位檔案:
--binary-files={binary|text|without-match}:如何處理二進位檔案,預設是當作二進位檔案處理。grep會列印一行資訊,提示是否匹配到模式!
-a |--text |--binary-files=text:當作文字檔處理
-I | --binary-files=without-match:對二進位檔案,認為是不匹配!
輸出格式設定:
-o |--only-matching:只列印匹配到模式的字串部分
-n |--line-number:列印行號:
-H 列印檔案名:預設行為,可以通過 “-h”選項取消此行為
--color | --colour:高亮匹配到的字元模式
-A n(n為非負整數):同時列印匹配到的模式 後面 的 n 行
-B n(n為非負整數):同時列印匹配到的模式 前面 的 n 行
-C | --context n(n為非負整數) | -n(n為非負整數):同時列印匹配到的模式 前面和後面 的各 n 行
-c |--count :只列印匹配到的行數,而不是實際的行內容。注意:該選項針對每一個輸入檔案,均會有輸出。可以配合-
選項統計不匹配的行數!
-l:只列印 符合 模式比對的檔案的名稱
-L:只列印 不符合 模式比對的檔案的名稱
-s | --no-messages:不列印錯誤訊息
-b 、 -u:列印匹配模式字串的位移位元組字元數