grep 递归查找给定目录中的文本
例子
使用 GNU grep
grep -r 'pattern' <directory path>
还要列出匹配-n项的行号,请使用选项
grep -rn 'pattern' <directory path>
仅搜索具有特定glob模式的文件
grep --include='*.txt' -r 'pattern' <directory path>
排除文件模式或目录
grep -R --exclude=*.log 'pattern' <directory path>grep -R --exclude={*.log,*.class} 'pattern' <directory path>
grep -R --exclude-dir=tmp 'pattern' <directory path>
grep -R --exclude-dir={tmp,lib} 'pattern' <directory path>
注释和其他有用的选项
<directory path> 如果在当前目录中搜索可以跳过
该-R选项下面的所有符号链接,不像-r跟随符号链接,只有当他们是在命令行上
-l 只列出匹配的文件
-h 取消文件名前缀
--color=auto 突出显示匹配的模式
-m <num> 为每个文件输入指定最大匹配数
递归搜索的 POSIX 解决方法
find <directory path> -type f -exec grep -l 'pattern' {} +
类似的选项-n,-l等根据需要可以使用
如果{} +不支持,请{} \;改用
有关命令的更多帮助,请参阅查找文档,find例如如何包含/排除文件类型、目录等
以上是 grep 递归查找给定目录中的文本 的全部内容, 来源链接: utcz.com/z/361753.html