grep 的功能是用于全面搜索的正则表达式,并将结果输出。通常会将 grep 命令与正则表达式搭配使用,参数作为搜索过程中的补充或对输出结果的筛选,命令模式十分灵活。
目录
3.4 搜索指定目录中包含某个关键字的文件名和内容(显示错误信息)
3.5 搜索指定目录中包含某个关键字的内容,只显示文件(显示错误信息)
3.8 搜索指定目录中包含某个关键字的文件名和内容(不显示错误信息)
3.9 搜索指定目录中包含某个关键字的文件名和内容,并显示所在行行号(不显示错误信息)
3.10 搜索指定文件中包含某个关键字的内容,只显示除关键字所在行以外的所有行
3.12 搜索指定文件中包含某个关键字的内容,匹配整行(关键字单独为一行才被匹配)
3.17 判断指定文件中是否包含某个关键词,通过返回状态值输出结果(0为包含,1为不包含)
一、语法格式
grep [参数] 文件名
二、常用参数
-i | 忽略大小写 |
-c | 只输出匹配行的数量 |
-l | 只列出符合匹配的文件名 |
-n | 列出所有的匹配行并显示行号 |
-h | 查询多文件时不显示文件名 |
-s | 不显示没有匹配文本的错误信息 |
-v | 显示不包含匹配文本的所有行 |
-w | 匹配整词 |
-x | 匹配整行 |
-r | 递归搜索 |
-e | 匹配多个选项 |
-q | 禁止输出任何结果 |
-o | 显示匹配的词据文件头部的偏移量 |
-E | 支持扩展的正则表达式 |
三、命令实战
3.1 搜索指定文件中包含某个关键词的内容行
3.2 搜索指定文件中包含某个关键词的内容行(忽略大小写)
3.3 搜索指定文件中包含某个关键词的内容的总行数
[root@linux1 ~]# grep -c "user" /etc/sudoers
10
3.4 搜索指定目录中包含某个关键字的文件名和内容(显示错误信息)
3.5 搜索指定目录中包含某个关键字的内容,只显示文件(显示错误信息)
3.6 搜索指定目录中包含某个关键字的内容,只显示内容
3.7 搜索指定文件中包含某个关键词的内容行,并显示行号
3.8 搜索指定目录中包含某个关键字的文件名和内容(不显示错误信息)
3.9 搜索指定目录中包含某个关键字的文件名和内容,并显示所在行行号(不显示错误信息)
3.10 搜索指定文件中包含某个关键字的内容,只显示除关键字所在行以外的所有行
-v 选项是取反,取反的意思是匹配关键字所在行以外的所有行
3.11 搜索指定文件中包含某个关键字的内容,精准匹配
3.12 搜索指定文件中包含某个关键字的内容,匹配整行(关键字单独为一行才被匹配)
[root@linux1 ~]# grep -x "user" 1.txt
user
3.13 搜索指定文件中包含多个关键字的内容
3.14 搜索指定文件中包含某个关键字的内容,只显示关键字
3.15 使用正则搜索指定文件中包含多个关键字的内容
正则表达式 “|” 的意思是 “或” ,使用时必须加转义符 “\” 或者使用 -E 选项支持扩展正则