grep命令是Linux中常用的文本搜索工具,它可以根据用户指定的模式,在文件或标准输入中查找匹配的文本行并返回。
下面是grep命令的一些常见选项:
- -i:忽略大小写
- -n:显示匹配行的行号
- -v:显示不匹配的行
- -r:递归查找指定目录下的文件
- -w:匹配整个单词
- -c:显示匹配的行数
- -l:只显示包含匹配项的文件名
- -e:指定多个匹配模式
- -f:从指定文件中读取匹配模式
1. 在单一文件中搜索:
grep [options] pattern [file]
其中,options指定选项,可以有多个,pattern为要查找的模式,file为要查找的文件名。
grep [options] pattern [file1] [file2] ...
2. 递归地在目录树中搜索文件:
grep [options] pattern directory
在指定的目录以及其中的子目录中递归搜索文件,其中options与前面两种用法相同。
3. 输出匹配行之前和之后的内容:
grep [options] -C[num] pattern [file]
其中num为要输出的行数。
4. 忽略大小写:
grep [options] -i pattern [file]
5. 配合正则表达式进行更精准的搜索:
grep [options] -E 'regex_pattern' [file]
其中,regex_pattern为正则表达式。
6. 查找不包含某个模式的文本行:
grep [options] -v pattern [file]
可以用于查找不需要的行。
7. 统计匹配文本的出现次数:
grep [options] -c pattern [file]
返回文件中匹配文本的出现次数。
eg:查找包含 ‘container_warn_chart’ 的文件