grep
文本查找匹配命令,常结合管道符使用,类似linux里的grep命令
命令选项
命令选项 | 描述 |
---|---|
-A, --after-context <number> | 打印匹配文件前n行 |
-B, --before-context <number> | 打印匹配文本前n行 |
-C, --context <number> | 打印匹配文件前后n行 |
-i, --ignore-case | 忽略大小写匹配 |
-v, --invert-match | 反向匹配,即不等于 |
-m, --max-count <number> | 匹配n行后即停止 |
-e, --regex | 正则匹配 |
--trim-end <boolean> | 移除行尾的空白字符,默认值为true |
-h, --help | 帮助 |
<pattern> | 查找模式匹配字符串 |
示例
bash
# 带查找匹配文件
[arthas@11952]$ cat /tmp/abc.txt
a
B
c
d
a
b
c
# 打印匹配字符串的后n行
[arthas@11952]$ cat /tmp/abc.txt | grep -A 1 a
a
B
a
b
# 打印匹配字符串的前n行 这个选项与linux表现不一致 理论输出ada 实际输出daa
[arthas@11952]$ cat /tmp/abc.txt | grep -B 1 a
# 打印匹配字符串的前后n行
[arthas@11952]$ cat /tmp/abc.txt | grep -C 1 a
a
B
d
a
b
# 忽略大小写
[arthas@11952]$ cat /tmp/abc.txt | grep b
b
[arthas@11952]$ cat /tmp/abc.txt | grep -i b
B
b
# 反向匹配且忽略大小写
[arthas@11952]$ cat /tmp/abc.txt | grep -iv b
a
c
d
a
c
# 匹配n行后停止
[arthas@11952]$ cat /tmp/abc.txt | grep -im 1 b
B
# 正则匹配
[arthas@11952]$ cat /tmp/abc.txt | grep -ie "[a|b]"
a
B
a
b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53