P4 GREP - 如何按所有子目录中的内容搜索特定文件

P4 GREP - how to search for specific files by content in all subdirs

如何在 depot 中搜索匹配模式的文件,包含特定字符串,搜索应该在所有子目录中使用控制台 P4 grep

假设仓库看起来像这样:

//My-Depot/Ver10/javas/foo
//My-Depot/Ver10/javas/foo/inetrface
//My-Depot/Ver10/javas/foo/implementation
//My-Depot/Ver10/javas/boo
//My-Depot/Ver10/javas/coo

所有文件夹都有java个文件,我想在

中搜索java个包含单词'byte'的文件
//My-Depot/Ver10/javas/foo

和所有子目录。

我尝试了以下方法

p4 grep  -n -e "byte" //My-Depot/Ver10/javas/foo/.../*.java

这会在 'foo' 的所有子目录中搜索带有单词 'byte' 的 *.java,但不搜索直接位于 'foo'

下的文件
 p4 grep  -n -e "byte" //My-Depot/Ver10/javas/foo/*.java

这将搜索 *.java,其中单词 'byte' 直接位于 'foo' 下,但不包括子目录。

而且我无法在父目录中搜索

 p4 grep  -n -e "byte" //My-Depot/Ver10/javas/.../*.java

因为它会搜索我不需要它的地方(在 'boo' 和 'coo' 下)。

p4 grep  -n -e "byte" //My-Depot/Ver10/javas/foo/.../*.java //My-Depot/Ver10/javas/foo/*.java 

...会得到你想要的。

只需使用 ... 后不跟斜线,因为您并不是要 需要 嵌套子目录:

p4 grep -n -e "byte" //My-Depot/Ver10/javas/foo/....java