grep
linux 三剑客之一,文本过滤器(根据文本内容过滤文件)
语法格式:
grep [参数] [匹配规则] [操作对象]
参数:
-n : 过滤文本时,将过滤出来的内容在文件内的行号显示
[root@localhost ~]# grep -n 'from' 11.txt
-A : 匹配成功之后,将匹配行的后n行显示
-B : 匹配成功之后,将匹配行的前n行显示
-C :匹配成功之后,将匹配行的前后各n行显示
-c : 只显示匹配成功过的行数
-o : 只显示匹配成功的内容
-v : 反向过滤
-q : 静默输出 (搭配$?使用 输出0正确,1错误)
-i : 忽略大小写
-l : 匹配成功之后,将文本的名称打印出来
-R|-r : 递归匹配
[root@localhost ~]# grep -nco 'root' /etc/passwd
-E : 使用拓张正则 等价于 egrep (搭配拓张正则)
知识储备:
$? : 上一行命令执行的结果,0代表执行成功,其他数字代表执行失败
wc : 匹配行数
# wc 搭配的参数
wc -l : 打印匹配行数
wc -c : 打印匹配的字节数
在/etc 目录下,有多少个文件包含root
grep -rl 'root' /etc/ | wc -l