Подтвердить что ты не робот

Как grep String во всех java файлах в подкаталогах?

Я хочу использовать grep, чтобы найти строки, содержащие String во всех java файлах в текущем каталоге.

Я пробовал:

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

Но это не работает:

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

Как это записать?


UPDATE

Я нахожусь в окнах, используя grep, предоставляемый unxUtils, который не поддерживает параметр --include. Есть ли другой способ?

4b9b3361

Ответ 1

Использовать рекурсивный grep:

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

Ответ 2

Я думаю, unxUtils предоставляет утилиту find. Поэтому вы можете попробовать:

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

или

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

Первая версия выполнит одну команду grep для каждого найденного файла. Последняя версия будет выполнять только как можно больше команд grep, но не каждая версия find поддерживает аргумент +.