如何在子目录中的所有java文件中grep一个String?

时间:2011-07-04 15:51:09

标签: string grep

我想使用grep在当前目录下的所有java文件中查找包含String的行。

我试过了:

grep -r "String" **/*.java

但它不起作用:

grep : **/*.java:  no such file or directory

怎么写呢?


更新

我在Windows上,使用grep提供的unxUtils,它不支持--include参数。还有其他办法吗?

2 个答案:

答案 0 :(得分:51)

使用递归grep:

grep -r "String" --include=*.java .

答案 1 :(得分:5)

我想unxUtils提供find实用程序。所以你可以试着这样做:

find . -name "*.java" -exec grep "String" {} \;

find . -name "*.java" -exec grep "String" {} \+

第一个版本将为找到的每个文件执行一个grep命令。后一版本只会根据需要执行尽可能多的grep命令,但不是每个find版本都支持+参数。