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> 查找模式匹配字符串

示例

# 带查找匹配文件
[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