grep语法格式
grep [-abcEFGhHilLnqrsvVwxy][-A<显示行数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]
grep [OPTIONS] PATTERN [FILE...]
常见选项
–color=auto 对匹配到的文本着色显示
-m # 匹配#次后停止
-v 显示不被pattern匹配到的行
-i 忽略字符大小写
-n 显示匹配的行号
-c 统计匹配的行数
-o 仅显示匹配到的字符串
-q 静默模式,不输出任何信息
-A # after, 后#行
-B # before, 前#行
-C # context, 前后各#行
-e 实现多个选项间的逻辑or关系,如:grep –e ‘cat ’ -e ‘dog’ file
-w 匹配整个单词
-E 使用ERE,相当于egrep
-F 不支持正则表达式,相当于fgrep
-f file 根据模式文件处理
-r 递归目录,但不处理软链接
-R 递归目录,但处理软链接
-l 打印包含匹配项的文件名,而不是文本行本身,也可用--files-with-matches 选项来指定
-L 相似于-l 选项,但是只是打印不包含匹配项的文件名。也可用--files-without-match 来指定。
-h 应用于多文件搜索,不输出文件名。也可用--no-filename 选项来指定。
grep实例
反向匹配, 查找不包含xxx的内容
#反向匹配, 查找不包含xxx的内容
grep -v xxx
排除所有空行
# 排除所有空行
grep -v '^$'
查询以xxx开头的行
# 查询以abc开头的行
grep -n "^abc" 111.txt
同时列出该词语出现在文章的第几行
# 同时列出该词语出现在文章的第几行
grep 'xxx' -n xxx.log
计算一下字串出现的次数
# 计算一下该字串出现的次数
grep 'xxx' -c xxx.log
grep 多关键字搜索
匹配多个关键字(且)同一行同时满足两个条件
管道符连接 多个条件 实现关键字 且关系 匹配:
grep "xxx" xxx.log |grep "yyy"
同一行同时满足两个条件(xxx、yyy)才能够匹配。
grep -E 匹配多个关键字(或)
grep -E "xxx|yyy" xxx.log
匹配文件中 同一行包含 xxx、yyy 之一