符号 | 意义 | |
* | 匹配紧挨在其前面的字符0次或多次重复 | |
. | 匹配单个字符 | |
.* | 匹配任意长度字符 | |
^ | 锚定行首的符合条件的内容 | |
& | 锚定行尾的符合条件的内容 | |
^$ | 空白行 | |
\{m,n\} | 匹配前面字符出现了m-n次 | |
\{0,n\} | 匹配前面字符至多出现n次 | |
\{m,\} | 匹配前面字符至少出现m次 | |
\{m\} | 匹配前面字符出现了m次 | |
\< |
锚定词首 | |
\> | 锚定词尾 | |
\<\> | 锚定单词 | |
\(\) | 分组 | |
[] | 匹配指定范围内的任意单个字符 | |
[^] | 匹配指定范围外的任意单个字符 | |
\? | 匹配紧挨在其前面的字符0次或1次 | |
+ |
匹配其前面的字符至少1次 | |
| | 或 |
选项 | 意义 |
--color | 添加颜色 |
-v | 反向选取,只显示不符合模式的行 |
-o | 只显示被模式匹配到的字串,而不是整个行; |
-i | 不区分字符大小写; |
-A # | 显示匹配到的行时,顺带显示其后面的#个行; |
-B # | 显示匹配到的行时,顺带显示其前面的#个行; |
-C # | 显示匹配到的行时,顺带显示其前后面的#个行; |
-E | 使用扩展正则表达式 |
字符 | 意义 |
[:digit:] | 所有数字,相当于0-9 或者\d |
[:lower:] | 所有的小写字母 |
[:upper:] | 所有的大写字母 |
[:alpha:] | 所有的字母 |
[:alnum:] | 相当于[0-9a-zA-Z] |
[:space:] | 空白字符 相当于\s |
[:punct:] | 所有标点符号 |
\S | 匹配任何非空白字符。与 [^ \f\n\r\t\v] 等效 |
\w | 匹配任何字类字符,包括下划线。与“[A-Za-z0-9_]”等效。 |
\W | 与任何非单词字符匹配。与“[^A-Za-z0-9_]”等效。 |
1
2
3
|
[root@localhost /]# grep
"^root"
/etc/passwd
root:x:
0
:
0
:root:/root:/bin/bash
[root@localhost /]#
|
1
2
3
|
[root@localhost /]# grep
"^r.*h$"
/etc/passwd
root:x:
0
:
0
:root:/root:/bin/bash
[root@localhost /]#
|
1
2
3
4
5
|
[root@localhost /]# grep
"ro\{1,2\}"
/etc/passwd
root:x:
0
:
0
:root:/root:/bin/bash
operator:x:
11
:
0
:operator:/root:/sbin/nologin
rtkit:x:
499
:
497
:RealtimeKit:/proc:/sbin/nologin
[root@localhost /]#
|
1
2
3
4
5
6
|
[root@localhost /]# grep
"rpc"
/etc/passwd 查找rpc的行
rpc:x:
32
:
32
:Rpcbind Daemon:/
var
/cache/rpcbind:/sbin/nologin
rpcuser:x:
29
:
29
:RPC Service User:/
var
/lib/nfs:/sbin/nologin
[root@localhost /]# grep
"\<rpc\>"
/etc/passwd 精确匹配rpc的行
rpc:x:
32
:
32
:Rpcbind Daemon:/
var
/cache/rpcbind:/sbin/nologin
[root@localhost /]#
|