1、使用grep -rnw查找指定文本grep -rnw '/path/to/somewhere/' -e 'pattern'
-r或-R 递归遍历目录及子目录
-n 是行号
-w 代表匹配整个单词。
-l列出文件内容符合的文件名称。“显示文件名,而不是结果本身”。
--exclude,--include,--exclude-dir标志可用于高效搜索:
搜索扩展名为.c或.h的文件:grep --include=\*.{c,h} -rnw '/path/to/somewhere/' -e "pattern"
搜索以.o扩展名结尾的所有文件:grep --exclude=*.o -rnw '/path/to/somewhere/' -e "pattern"
对于目录,可以通过--exclude-dir参数排除特定目录。例如,这将排除dirs dir1/,dir2/及其全部与*.dst/匹配的目录:grep --exclude-dir={dir1,dir2,*.dst} -rnw '/path/to/somewhere/' -e "pattern"
有关更多选项,请查阅man grep。
2、使用grep -Ril查找指定文本
grep -Ril "text-to-find-here" /
i 代表忽略大小写(在您的情况下为可选)。
R 代表递归。
l 代表“显示文件名,而不是结果本身”。
/ 代表从计算机的根目录开始。
3、使用silversearcher查找文本
内容极速搜索,递归搜索路径中的模式。像grep或ack,但更快,安装命令及相关说明参考下面文档。ag [FILE-TYPE] [OPTIONS] PATTERN [PATH]
FILE-TYPE 如果忽略,ag会搜索它支持的所有文件类型(按后缀名) PATH可以是dir,也可以是filename, 如果忽略,就会搜索当前路径下的所有支持的文件
查看支持的文件类型ag --list-file-types
常用参数
-i 忽略大小写
-l 只列出文件名
-g 文件名匹配
-r 搜索时递归子目录。默认是true。
--php 只搜索php文件
--ignore-dir 忽略目录