grep 是对文本进行过滤的工具,用来查找文本,grep 以 行 为单位;grep 的主要作用就是与 管道符 以及 正则表达式 结合使用;
在 linux 三剑客的使用过程中,管道符 和 正则表达式 特别重要!!
前面的文章提到过,由管道符给过来的数据 是 标准输入,所以 grep 支持从标准输入 或者 命令行 来获取参数,例如 cat a.txt | grep 'hello' 与 grep 'hello' a.txt 都是可以的;
grep 格式:
grep 功能参数(可以有多个参数) '正则表达式(匹配文本)' 文件
或者
.... | grep 功能参数(可以有多个参数) '正则表达式(匹配文本)'
grep 常用功能参数:
| 功能参数 | 解释说明 |
| -c | 输出匹配到的行数,等同于 wc -l |
| -n | 显示匹配行以及行号 |
| -i | 正则表达式忽略大小写 |
| -r | 递归查找,一般查找目录是都会加上 |
| -A | 匹配行的后几行 |
| -B | 匹配行的前几行 |
| -v | 显示不包含匹配文本的行,相当于取反 |
| -l | 查询多文件时只输出包含匹配文本的文件名 |
| -h | 查询多文件时不显示文件名 |
| -s | 不显示文件不存在或者无匹配文本时的错误信息 |
| -o | 只显示查找到的内容,grep 默认显示整行 |
来看例子:
1.统计匹配到 匹配文本 的行数,使用 -c 参数

grep -c 等效于 wc-l ,如下:

2.使用正则表达式是忽略大小写,使用 -i 参数

3.过滤多个文件时,只显示包含匹配文本的文件的文件名,使用 -l 参数

4. 过滤多个文件时,不显示包含匹配文本的文件名,只显示匹配行,使用 -h 参数

5. 显示匹配文本所在的行号,使用 -n 参数
6. 当过滤的文件不存在时,要想不报错,使用 -s 参数

7. 显示文件中不包含匹配文本的行,使用 -v 参数

8. 显示匹配行的前几行或者后几行,使用 -A 或者 -B 参数

9. 只显示查找到的内容, 使用 -o 参数


本文详细介绍了Linux中grep命令的使用,包括其主要功能、参数选项及其在文本过滤中的重要性。通过实例展示了如何统计匹配行数、忽略大小写、查找文件、显示行号、过滤不匹配行、查看前后行内容以及只显示匹配内容。grep常与其他工具如管道符和正则表达式结合,是Linux系统中不可或缺的文本处理工具。

被折叠的 条评论
为什么被折叠?



