1:grep命令功用:
一种强大的文本搜索工具,在一个或多个fles中搜索与正则表达式pattern相匹配的行。
如果有匹配行,则退出状态是0;如果没有匹配的行,则退出状态是1;有错误时退出状态是2。
2:命令构件:
grep [options]pattern [files]
3:参数选项:
-a,--text
不禁止以二进制数据输出的行;
-b,--byte-offset
在每一个输出行之前显示在输入文件内的字节偏移量。
-c --count仅显示匹配行的数目。与-v或--revert-match选项一起使用时,计算不匹配的行。
-d action,--directories=action
为正在处理的目录定义一个操作action。可能的操作有:
read
像读取普通文件一样读取目录(默认)。
grep skip
跳过目录。
recurse
递归地读取每个目录下的所有文件。与-r相同。
-e pattern,--regexp=pattern以-开头的模式。
查找parer,等同于指定一个模式作为参数,但是有益于保护以-开头的模式
-f file,--file=file
从fle中得到一个模式列表,每行一个。
-h,--no-filename
输出匹配的行但是不输出文件名(逆操作为-1)。
-i,--ignore-case
忽略大写和小写的区别。
-1,--files-with-matches列出匹配文件的名称,但不列出单个匹配的行;对每个文件的扫描在第一次匹配处就停下来。
-n,--line-number
输出行和它们的行号
-q,--quiet,--silent
禁止有利于静态模式的正常输出,扫描在第一次匹配处停下来。
-r --recursive
递归地读取每个目录下的所有文件,与-drecurse相同。
-s,--n0-messages
禁止显示文件不存在或不可读取的错误消息。
-v --revert-match
输出所有不与pattern匹配的行。
--word-regexp-W.
仅在整个单词上匹配。单词之间由不是字母、数字或下划线的
X.
仅当pattern与整个行匹配时输出行。
_A num,--after-context=num
输出匹配行之后的 num 行文本。
_B num,--before-context=num
输出匹配行之前的num行文本
-C[num],--context=[num],-num
分别在前面和后面输出num 行上下文。默认的上下文是2行。
-L,--files-without-match
列出不包含匹配行的文件。
-V --version
输出版本号,然后退出。
4:实例演示:查询特定子串:
grep "cameraservice" . -rn
输出版本号:
grep -V
列出至少含有一个#include 指令的头文件:
grep -1 '^#include' camera/*
以上,可以参照grep命令构成与参数特征,按照自己需求进行合理使用。