正则表达式grep, egrep, fgrep
grep,egrep,fgrep : print lines matching a pattern
1.grep :
grep [options] PATTERN FILE...
PATTERN由元字符和和普通字符組成
-i : --ignore-case?, 忽略大小寫
-o : --only-matching, 只顯示所匹配到的字符,二不是整行
-n : --line-number, 輸出所匹配行的行號
-v : --invert-match, 顯示除匹配行外的所有行
-E : --extended-regexp, egrep
-F : --fixed-strings, fgrep
-P : --per-regexp
-A NUM : --after-context, 顯示匹配行后NUM行
-B NUM: --before-context,顯示匹配行強NUM行
-C NUM: --context,顯示匹配行前、后NUM行
元字符
匹配字符:
. : 匹配任意單個字符
[],[^] : 匹配指定的單個字符
[0-9], [[:digit:]] : 匹配單個數字
[[:alpha:]] : 匹配單個大、小寫字母
[[:lower:]] : 匹配單個小寫字母
[[:upper:]] : 匹配單個大寫字母
[[:alnum:]] : 匹配單個數字或字母
[[:bank:]] : 匹配單個空白字符
[[:punct:]] : 匹配標點符號
[[:contrl:]] : 匹配當控制字符
[[:xdigit:]] : 匹配單個16進制數
匹配次數:用來指定前面的字符出現的次數
* : 任意次數,包括0次
\+ : 至少一次
\? : 0次或1次,前面的字符可有,可無
\{m\}, \{0,n\}, \{m,n\}, \{m,\}?: 分別指m次,最多n次,m-n次,最少m次
.* : 任意長度,任意字符
位置錨定:
^ : 行首錨定,模式左側
$ : 行尾錨定,模式右側
\< : 詞首錨定,單詞模式左側,單詞指由數字和字母構成的字符串
\>?: 詞尾錨定,單詞右側
^PATTERN$, 匹配整行只有指定的模式
^$ : 空行
^[[:blank:]]$ : 整行無可見字符
\<word\> : 匹配整個單詞
分組
?
將任意個字符用括號括起來做一個整體進行匹配
后向引用:應用前面分組括號所匹配的內容,非模式本身, \1,\2 ...
?
.*\1 : 匹配第一個括號所匹配的內容
2. egrep : 等同于 grep -E
egrep [options] PATTERN FILE...
PATTERN由元字符和和普通字符組成
-i : --ignore-case?, 忽略大小寫
-o : --only-matching, 只顯示所匹配到的字符,二不是整行
-n : --line-number, 輸出所匹配行的行號
-v : --invert-match, 顯示除匹配行外的所有行
-A NUM : --after-context, 顯示匹配行后NUM行
-B NUM: --before-context,顯示匹配行強NUM行
-C NUM: --context,顯示匹配行前、后NUM行
PATTERN由元字符和和普通字符組成
元字符
匹配字符:
. : 匹配任意單個字符
[],[^] : 匹配指定的單個字符
[0-9], [[:digit:]] : 匹配單個數字
[[:alpha:]] : 匹配單個大、小寫字母
[[:lower:]] : 匹配單個小寫字母
[[:upper:]] : 匹配單個大寫字母
[[:alnum:]] : 匹配單個數字或字母
[[:bank:]] : 匹配單個空白字符
[[:punct:]] : 匹配標點符號
[[:contrl:]] : 匹配當控制字符
[[:xdigit:]] : 匹配單個16進制數
匹配次數:用來指定前面的字符出現的次數
* : 任意次數,包括0次
+ : 至少一次
? : 0次或1次,前面的字符可有,可無
{m}, {0,n}, {m,n}, {m,}?: 分別指m次,最多n次,m-n次,最少m次
.* : 任意長度,任意字符
位置錨定:
^ : 行首錨定,模式左側
$ : 行尾錨定,模式右側
\< : 詞首錨定,單詞模式左側,單詞指由數字和字母構成的字符串
\>?: 詞尾錨定,單詞右側
^PATTERN$, 匹配整行只有指定的模式
^$ : 空行
^[[:blank:]]$ : 整行無可見字符
\<word\> : 匹配整個單詞
分組
() 將任意個字符用括號括起來做一個整體進行匹配
后向引用:應用前面分組括號所匹配的內容,非模式本身, \1,\2 ...
(th).*\1 : 匹配第一個括號所匹配的內容
3.fgrep : 不支持正則表達式, 僅匹配指定的字符串
fgrep [optings] PATERN File...
Andraw|朱標總結
以上是生活随笔為你收集整理的正则表达式grep, egrep, fgrep的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【正则表达式1】C++11正则表达式
- 下一篇: grep、egrep、fgrep的用法与