1、grep使用簡明
使用基本正則表達式定義的模式來過濾文本,並將符合模式的文本行顯示出來
grep [options] PATTERN [FILE...]
-i :忽略大小寫
--color :符合模式的文本行顯示顏色
-v : 顯示沒有被模式匹配到的行
-o :只顯示被模式匹配到的字符串
-E : 使用擴展正則表達式(= egrep)
2、基本正則表達式(PATTERN中的元字符匹配)
(1)字符匹配
. : 匹配任意單個字符
[] : 匹配指定范圍內的任意單個字符
[^] :匹配指定范圍外的任意單個字符
[[:digit:]] :匹配數字 [0-9]
[[:lower:]] :匹配小寫字母 [a-z]
[[:upper:]] :匹配大寫字母 [A-Z]
[[:punct:]] :匹配特殊字符
[[:space:]] :匹配空格
[[:alpha:]] :匹配字母 [a-zA-Z]
[[:alnum:]] :匹配字母和數字 [0-9a-zA-Z]
(2)次數匹配
* : 匹配其前面的字符任意次(0次-任意次)
.* : 任意長度的任意字符
\? : 匹配其前面的字符1次或0次
\{m,n\} : 匹配其前面的字符至少m次,至多n次
例如 \{1,\} :匹配其前面的字符至少1次
\{0,3\} :匹配其前面的字符0到3次
(3)位置錨定
^ : 錨定行首
$ : 錨定行尾
^$ : 表示空白行
\<或\b :錨定詞首
\>或\b :錨定詞尾
(4)分組及後向引用
\(\) :分組,將之後需要引用的內容分組囊括起來
\n : 後向引用,即引用前面第n個括號內包含的所有內容
3、擴展正則表達式(PATTERN中的元字符匹配擴展)
(1)次數匹配
? : 匹配其前面的字符1次或0次
+ : 匹配其前面的字符至少1次
{m,n} : 匹配其前面的字符至少m次,至多n次
(2)分組及後向引用
() :分組,將之後需要引用的內容分組囊括起來
\n : 後向引用,即引用前面第n個括號內包含的所有內容
(3)或者
| :匹配左邊的字符串或者右邊的字符串
例如 B|boy : B或boy