我想使用grep
在当前目录下的所有java文件中查找包含String
的行。
我试过了:
grep -r "String" **/*.java
但它不起作用:
grep : **/*.java: no such file or directory
怎么写呢?
更新
我在Windows上,使用grep
提供的unxUtils
,它不支持--include
参数。还有其他办法吗?
答案 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
版本都支持+
参数。