1. 程式人生 > >centos 下grep工具學習記錄

centos 下grep工具學習記錄

空白行 標點符號 及其 16進制 查找 快速查找 ... tab 大寫

一、grep工具快速查找表

grep標準正則相關元字符表示及其的含義:

形式 說明
. 這是一個英文的點號。表示匹配任意單個字符;
[] 表示匹配指定範圍內的任意單個字符;
[^] 表示匹配指定範圍外的任意單個字符;
* 表示匹配前面的條目0次或多次;
.* 表示匹配任意長度的任意字符;
\? 表示匹配前邊的條目至多一次,既 0次或1次;
\+ 表示匹配前邊的條目1次或多次;
\{n\} 表示匹配前邊的條目n次,多於n次,少於n次都不可行;
\{n,\} 表示匹配前邊的條目n次或n次以上,既大於等於n次;
\{,m\} 表示匹配前邊的條目至多m次,既小於等於m次;(GNU擴展用法
)
\{n,m\} 表示匹配前邊的條目至少n次,至多m次,包含n和m且m要大於等於n;
A\|B; 表示A部分或者B部分;
\(...\) 表示分組,其後可用\num對分組的內容做引用,num表示數字;
^ 脫字符表示錨定行首,可以理解為匹配到的是空串(empty string);
$ 美元符表示錨定行尾,可以理解為匹配到的是空串(empty string);
^$ 表示匹配空白行;
\< 表示單詞詞首錨定,可以理解為匹配到單詞詞首的空串(empty string);
\> 表示單詞詞尾錨定,可以理解為匹配到單詞詞尾的空串(empty string);
\b 表示單詞邊界的錨定,可以替代\<或\>,可以理解為匹配到單詞邊界的空串(empty string);
\B 表示匹配單詞邊界之外的空串(empty string);
\w 基本可以理解為與[_[:alnum:]]同義,表示匹配下劃線以及字母數字字符;
\W 基本可以理解為與[^_[:alnum:]]同義,表示匹配出下劃線、字母數字字符之外的字符;
[:alnum:] 表示字母數字字符,使用形式[[:alnum:]],如果要排除,可以配合脫字符[^[:alnum:]];
[:alpha:] 表示字母字符,使用形式[[:alpha:]],如果要排除,可以配合脫字符[^[:alpha:]];
[:cntrl:] 表示控制字符,使用形式[[:cntrl:]]後文有解析為何控制字符,不常用。如果要排除,[^[:cntrl:]];
[:digit:] 表示數字字符,使用形式[[:digit:]]。如果要排除,[^[:digit:]];
[:graph:] 表示可打印且可見字符,後文有註解。使用形式,[[:graph:]],不常用。如果要排除,[^[:graph:]];
[:lower:] 表示小寫字母字符,使用形式[[:lower:]],如果要排除,[^[:lower:]];
[:print:] 表示可打印字符,使用形式[[:print:]],排除,[^[:print:]];
[:punct:] 表示標點符號字符,使用形式[[:punct:]],排除,[^[:punct:]];(除了文字字符[可以理解為字母],數字,控制字符,空格字符之外的字符)
[:space:] 空格字符,使用形式[[:space:]],有空格,換頁,換行,回車,橫向制表符,縱向制表符;排除[^[:space:]];
[:upper:] 表示大寫字母字符,使用形式[[:upper:]],排除,[^[:upper:]];
[:xdigit:] 表示16進制數字字符,使用形式[[:xdigit:]],排除,[^[:xdigit:]];
[:blank:] 表示空格或橫向制表符字符,使用形式[[:blank:]],排除,[^[:blank:]];

grep擴展正則相關元字符表示及其含義:

未完待續...

centos 下grep工具學習記錄