grep -rnw '/path/to/somewhere/' -e 'pattern'- -r or -R 表示递归查找
- -n 显示查找到字符串所在文件行号
- -w 表示完整匹配
- -l (lower-case L) 只显示匹配的文件名
也可以添加下面这些参数,
--exclude, --include, --exclude-dir 来提高检索效率- 下面这个例子只会检索文件扩展名为 .c or .h 的文件:
grep --include=\*.{c,h} -rnw '/path/to/somewhere/' -e "pattern"- 下面这个例子将忽略检索所有文件扩展名为 .o 的文件:
grep --exclude=\*.o -rnw '/path/to/somewhere/' -e "pattern"- 对于目录,可以使用–exclude-dir参数排除一个或多个目录。例如,这将排除目录 dir1/、dir2/以及所有与*.dst匹配的dir/
grep --exclude-dir={dir1,dir2,*.dst} -rnw '/path/to/somewhere/' -e "pattern"更多的选项,参考
man grep参考资料:https://stackoverflow.com/questions/16956810/how-do-i-find-all-files-containing-specific-text-on-linux