如何遍历文件系统寻找正则表达式匹配?

如何遍历文件系统寻找正则表达式匹配?

我知道这对于经验丰富的系统管理员来说有点难,但我想在目录树中搜索与正则表达式(此处为单词“关键字”)匹配的文件内容。我已经做到了这一点,但现在我无法忽略隐藏 (.svn) 文件树中的文件。

以下是我正在处理的内容。您可以看到,我可以很好地搜索名称中包含“.svn”的文件,但我似乎无法用 ! 反转 iname 变量,就像我在其他文档中看到的那样。

find . -exec grep "Keyword" '{}' \; -iname .svn; -print

以上内容几乎返回了所有内容。

答案1

find . \( -iname '.svn' -prune \) -o \( -exec grep -q ... \; -print \)

答案2

那么递归 grep 怎么样:

grep -r --exclude "*.svn*" "Keyword" .

相关内容