grep命令:
文本過濾(按行過濾)
參數
? ? ? ? ? ? ? ? -v 取反
? ? ? ? ? ? ? ? -i 忽略大小寫
? ? ? ? ? ? ? ? -n 顯示行號
? ? ? ? ? ? ? ? -c 統計匹配行數
? ? ? ? ? ? ? ? -q 靜默執行(不顯示執行結果)
? ? ? ? ? ? ? ? -o 僅顯示搜索到的字符串
? ? ? ? ? ? ? ? -A #(數字) 包含關鍵字的后續幾行
? ? ? ? ? ? ? ? -B #(數字) 包含關鍵字的前面幾行
? ? ? ? ? ? ? ? -C #(數字) 包含關鍵字的前后幾行
? ? ? ? ? ? ? ? -w 匹配整個單詞
? ? ? ? ? ? ? ? -E 相當于fgrep
正則表達式
REGEXP匹配字符串
? ? ?正則表達式元字符
? ? ? ? ? ? ? ? \ 轉義字符
? ? ? ? ? ? ? ? . 匹配任意單個字符
? ? ? ? ? ? ? ? [] 匹配指定范圍外的任意單個字符
? ? ? ? ? ? ? ? [^] 匹配除了[]內單一字符
? ? ? ? ? ? ? ? [:alnum:] 字母和數字
? ? ? ? ? ? ? ? [:alpha:]A-Z,a-z 代表任何英文大小寫字符
? ? ? ? ? ? ? ? [:upper:]A-Z 大寫字母
? ? ? ? ? ? ? ? [:lower:]a-z 小寫字母
? ? ? ? ? ? ? ? [:blank:] 空白字符
? ? ? ? ? ? ? ? [:space:] 水平和垂直的空白字符
? ? ? ? ? ? ? ? [:cntrl:] 不可打印的控制字符(退格,刪除,警鈴)
? ? ? ? ? ? ? ? [:digit:] 十進制數字
? ? ? ? ? ? ? ? [:xdigit:] 十六進制數字
? ? ? ? ? ? ? ? [:graph:] 可打印的非空白字符
? ? ? ? ? ? ? ? [:print:] 可打印的空白字符
? ? ? ? ? ? ? ? [:punct:] 標點符號
? ? ?正則表達式位置錨定:定位出現的位置
? ? ? ? ? ? ? ? ^ 行首錨定,用于模式的最左側
? ? ? ? ? ? ? ? $ 行尾錨定,用于模式的最右側
? ? ? ? ? ? ? ? ^PATTERN$ 用于模式匹配整行
? ? ? ? ? ? ? ? ^$空行 空行
? ? ? ? ? ? ? ? ^[[:space;]]*$ 空白行
? ? ? ? ? ? ? ? \<或\b 詞首錨定,用于單詞模式的左側
? ? ? ? ? ? ? ? \>或\b 詞尾錨定,用于單詞模式的右側
? ? ? ? ? ? ? ? \<PATTERN\> 匹配整個單詞
? ? ?正則表達式分組
? ? ? ? ? ? ? ? \(\)將一個或多個字符捆綁在一起,當作一個整體進行處理,如\(root\)\+
? ? ? ? ? ? ? ? 分組括號中的模式匹配到的內容會被正則表達式引擎記錄于內部的變量中,
? ? ? ? ? ? ? ? 這些變量的命名方式為:\1,\2,\3,..
? ? ? ? ? ? ? ? \1 表示從左側起第一個左括號以及為止匹配右括號之間的模式所匹配到 的字符
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 示例: \(string1\+\(string2\)*\)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \1 : string1\+\(string2\)*
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\2 : string2
? ? ? ? ? ? ? ? 后向引用:引用前面的分組括號中模式所匹配字符,而非模式本身
? ? ? ? ? ? ? ? 或者\|
? ? ? ? ? ? ? ? 示例 : a\|b: a或b C\|cat: C或cat \(C\|c\)at:Cat或cat
? ? ?正則表達式次數匹配
? ? ? ? ? ? ? ? .*: 匹配前面字符任意次
? ? ? ? ? ? ? ? \?: 0或1次
? ? ? ? ? ? ? ? \+: 1次或多次
? ? ? ? ? ? ?? ?\{n\}: 匹配前面的字符n次
? ? ? ? ? ? ? ? \{m,n\} 匹配前面的字符至少m次,至多n次
? ? ? ? ? ? ? ? \{,n\} 匹配前面的字符至多n次
? ? ? ? ? ? ? ? \{n,\} 匹配前面的字符至少n次
? ? ? ? ? ? ? ? egrep及擴展的正則表達式
? ? ? ? ? ? ? ? egrep命令
? ? ? ? ? ? ? ? egrep=grep-E
擴展正則表達式
? ? ?擴展正則表達式元字符
? ? ? ? ? ? ? ? . 匹配任意單個字符
? ? ? ? ? ? ? ? [] 匹配指定范圍外的任意單個字符
? ? ? ? ? ? ? ? [^] 字母和數字
? ? ? ? ? ? ? ? 擴展正則表達式位置錨定
? ? ? ? ? ? ? ? ^ 行首錨定,用于模式的最左側
? ? ? ? ? ? ? ? $ 行尾錨定,用于模式的最右側
? ? ? ? ? ? ? ? \<或\b 詞首錨定,用于單詞模式的左側
? ? ? ? ? ? ? ? \>或\b 詞尾錨定,用于單詞模式的右側
? ? ?擴展正則表達式分組
? ? ? ? ? ? ? ? ()
? ? ? ? ? ? ? ? 后向引用:\1,\2,…
? ? ? ? ? ? ? ? 例 : a|b: a或b C|cat: C或cat (C|c)at:Cat或cat
? ? ?擴展正則表達式次數匹配
? ? ? ? ? ? ? ? *: 匹配前面字符任意次
? ? ? ? ? ? ? ? ?: 0或1次
? ? ? ? ? ? ? ? +: 1次或多次
? ? ? ? ? ? ? ? {m}: 匹配m次
? ? ? ? ? ? ? ? {m,n}: 至少m次,至多n次
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/95392