定义:
grep :Global search Regular Expression and Print out the line.
egrep :Extend Global search Regular Expression and Print out the line.
fgrep :Fast Global search Regular Expression and Print out the line.
注:fgrep不解析任何正则表达式,不常使用。
格式:grep/egrep [OPTION] ‘PATTERN’ <file_path>
OPTION:
-v :反向匹配,显示没有被匹配到的字符。
-o :只显示被匹配到的单词,并非整行。(默认显示被匹配到的整行)
-i :匹配时忽略大小写。
-E :使grep支持扩展正则表达式。
-A # :显示被匹配到的行以及之前#行。
-B # :显示被匹配到的行以及之后#行。
-C # :显示被匹配到的行以及前后#行。
工作模式:
‘贪婪模式’,即尽可能多的显示被匹配到的字符。
grep、egrep正则表达式比较:
比较对象 |
grep(基本正则表达式) |
egrep(扩展正则表达式) |
|
位置匹配 |
任意单个字符 |
. |
. |
指定范围内的任意单个字符 |
[] |
[] |
|
[0-9]或[[:digit:]] |
[0-9]或[[:digit:]] |
||
[a-z]或[[:lower:]] |
[a-z]或[[:lower:]] |
||
[A-Z]或[[:upper:]] |
[A-Z]或[[:upper:]] |
||
[[:alpha:]] |
[[:alpha:]] |
||
[[:alnum:]] |
[[:alnum:]] |
||
[[:space:]] |
[[:space:]] |
||
[[:punct:]] |
[[:punct:]] |
||
指定范围外的任意单个字符 |
[^] |
[^] |
|
次数匹配 |
任意次 |
* |
* |
0次或者1次 |
\? |
? |
|
至少1次 |
无 |
+ |
|
m次 |
\{m\} |
{m} |
|
至少m次,至多n次 |
\{m,n}\ |
{m,n} |
|
至少m次,至多不限 |
\{m,\} |
{m,} |
|
至多n次,至少不限 |
\{0,n\} |
{0,n} |
|
位置锚定 |
行首锚点 |
^ |
^ |
行尾锚定 |
$ |
$ |
|
词首锚定 |
\<或\b |
\<或\b |
|
词尾锚定 |
\>或\b |
\>或\b |
|
分组引用 |
分组 |
\(\) |
() |
引用 |
\# |
\# |
|
注:‘#’表示数字; ‘\’表示转义符。 |
时间: 2024-12-16 15:23:46