grep工具
文本行过滤工具,根据用户指定的模式对目标文件逐行进行匹配检查;打印匹配到的行
模式:由正则表达式字符及文本字符所编写的过滤条件
用法:grep [OPTION] PATTERN [FILE]
OPTION |
说明 |
--color=auto |
对匹配到的文本着色显示(CentOS7默认显示颜色) |
-v |
显示不被pattern匹配到的行,反向匹配 |
-i |
忽略字符大小写 |
-n |
显示匹配的行号 |
-c |
统计匹配到的行数 |
-o |
仅显示匹配到的字符串 |
-q |
静默模式,不输出任何信息 |
-e |
实现多个选项间的or关系 |
-w |
匹配正则单词 |
-r |
逐层遍历目录查找 |
-f file |
根据模式文件处理 |
-A |
显示匹配行及后面多少行 |
-B |
显示匹配行及前面多少行 |
-C |
显示匹配行及前后多少行 |
-E |
使用扩展正则表达式,相当于egrep |
-F |
相当于fgrep,不支持正则表达式 |
-L |
列出不匹配的文件名 |
1. grep命令在CentOS7上对匹配到的文本着色显示
2. 使用单引号(或双引号)或反斜杠对匹配到的文本取消颜色显示
3. 过滤出包含“root”的行
4. 过滤出包含“root”的行,不区分大小写
5. 过滤出包含“root”的行,并显示行号
6. 统计匹配到“root”的行数
7. 仅显示匹配“root”的字符串
8. 过滤出包含“root”的行,不输出任何信息,可使用$?变量查看其返回值确定是否执行成功
9. 过滤出不包含“/sbin/nologin”的行
10. 过滤出包含“root”和“elasticsearch”的行
11. 过滤出包含“root”行及后面两行
12. 过滤出包含“root”行及前面两行
13. 过滤出包含“root”行及前后两行
14. 过滤/etc/ssh/sshd_config文件中除去空行和以#开头的行