linux操作中,总是会输出很多的内容。但是有些内容并不是我们重点关注的,所以为了看起来方便,也为了提升效率,就将不需要的内容过滤掉。 只输出想要的东西。
grep: 用于搜索 模式参数(给定的字符串) 指定的内容,并将匹配的行输出到屏幕或者重定向到文件中, grep一般和管道一起出现 ( | 就是管道符号)
命令语法:
grep [options] pattern [file...]
[options] 命令选项
-r 递归 (从一个文件夹中 递归的去检索想要的内容)
-v 反取 (取出根据查询规则 相反的内容)
-i 忽略大小写
-n 显示行号
-c 计数
-w 匹配一个词。(rotname root 就只会匹配root 。 rootname据不会匹配了)
-l 只给出匹配的文件名。(文件的内容就不 详细的列出了)
-L 列出不匹配的文件名。(不匹配的)
-o 只列出匹配的内容
-E 支持扩展的正则表达式 (相当于 egrep,)
-q 在标准输出中不输出任何内容, 即静默模式。(然后使用 echo $? 查看匹配出多少内容。 0代表匹配到了内容, 1 代表没有匹配到内容。)
pattern 匹配字符串
可以是 字符串。 也可以是 正则表达式。(grep -E 或者 egrep)
file 检索文档
可以是 一个文件夹, 也可以是一个文件。 (文件夹可以使用 -r 递归的获取内容)
管道:|
上一个命令的输出作为下一个命令的输入。
cat /etc/passwd | grep "root"
(cat 内容本来是输出到屏幕的, 通过管道, 交给 grep, 由grep过滤后进行输出)