我们使用grep命令来查找文件中符合条件的字符串。
grep格式
grep [选项] [查找模式] [文件名]
常用选项:
-E :开启扩展(Extend)的正则表达式。
-i :忽略大小写(ignore case)。
-v :反过来(invert),只打印没有匹配的,而匹配的反而不打印。
-n :显示行号
-w :被匹配的文本只能是单词,而不能是单词中的某一部分,如文本中有liker,而我搜寻的只是like,就可以使用-w选项来避免匹配liker
-c :显示总共有多少行被匹配到了,而不是显示被匹配到的内容,注意如果同时使用-cv选项是显示有多少行没有被匹配到。
-o :只显示被模式匹配到的字符串。
–color :将匹配到的内容以颜色高亮显示。
-A n:显示匹配到的字符串所在的行及其后n行,after
-B n:显示匹配到的字符串所在的行及其前n行,before
-C n:显示匹配到的字符串所在的行及其前后各n行,context
grep使用示例
查找字符串时希望显示如下内容
- 所在的文件名,grep查找时默认已经显示目标文件名
- 所在行号,通过
-n
选项来打开
grep -rn "字符串" 文件名
上面命令中
r
是recursive(递归)的缩写n
是number的缩写,表明要显示目标位置的行号- 字符串:要查找的字符串
- 文件名: 被查找的目标文件,如果是
*
则表示查找当前目录下的所有文件和目录
grep全词匹配
使用grep查找字符串时,可以使用-w
来完成全词匹配。