文章目录
- 前言
- grep的使用
- 根据关键字查找
- 反向查找
 
- 结语
前言
grep命令也是我们在日常使用linux,编写shell脚本中会用到的一个高频命令,grep主要是帮助我们查找我们想要的内容,类似于我们在office word里面的 Ctrl + f 查找功能,但是因为grep命令支持正则表达式,所以grep可比word的查找功能更加强大 ,接下来就一起看一下grep命令的详细用法吧。
grep的使用
grep的用法如下:
# option 选项可以控制grep的行为
# pattern 表示匹配模式,支持正则
# file 是待查询的文件
grep [option] pattern [file]
option常用选项如下:
| 常用选项 | 说明 | 
|---|---|
| -c | 只打印匹配的文本行的行数,不显示匹配的内容 | 
| -i | 匹配时忽略字母的大小写 | 
| -h | 当搜索多个文件时,不显示匹配文件名前缀 | 
| -l | 只列出含有匹配的文本行的文件的文件名,而不显示具体的匹配的内容 | 
| -n | 列出所有的匹配的文本行,并显示行号 | 
| -s | 不显示关于不存在或者无法读取文件的错误信息 | 
| -v | 只显示不匹配的文本行 | 
| -w | 匹配整个单词 | 
| -x | 匹配整个文本行 | 
| -r | 递归搜索,不仅搜索当前目录,还要搜索其各级子目录 | 
| -q | 禁止输出任何匹配结果,而是以退出状态码的形式表示搜索是否成功,其中0表示找到了匹配的文本行 | 
| -b | 打印匹配的文本行到文件头的偏移量,以字节为单位 | 
| -E | 支持扩展正则表达式 | 
| -P | 支持Perl正则表达式 | 
| -F | 不支持正则表达式,将模式按字面意义匹配 | 
| -C | 打印匹配到的前后n行 | 
| -B | 打印匹配到的前n行 | 
| -B | 打印匹配到的后n行 | 
根据关键字查找
最简单的用法就是我们在文件中根据关键字查询,示例如下:
 我们先准备fruit.txt 文件作为测试文件,内容如下:
 
 首先我们查找带有关键字’an’ 的行,
grep an fruit.txt
查询结果可以看出搜到了关键字an的行
 
反向查找
如果我们想排除某些关键字的行,示例如下:
# 我们排除带an的行
grep -v an fruit.txt
结果如下:
 
结语
目前先介绍两种最常用的用法,后续会持续更新,敬请期待~