16

Я новичок в Linux. Мне нужно искать строку "teststring" во всех * .java файлах, находящихся в /home /user1 / (включая подпапки). Как я могу сделать это в Linux с помощью команды оболочки.

5 ответов5

19

Самый простой способ - использовать возможности GNU grep:

grep -r --include '*.java' teststring /home/user1

Если вы когда-либо использовали другой вариант Unix, в котором нет GNU grep, вот переносимый способ:

find /home/user1 -name '*.java' -exec grep teststring {} +
4

используя ack, вы просто набираете : cd /home/user01 && ack --java teststring

4

Для этого Ack ака подтверждени Grep его приложения убийцы в моем уме;)

Вы можете получить ack some_string /in/path_y чтобы найти some_string в path_y, или проще - получить ack some_other_string чтобы найти some_other_sting в текущем каталоге.

2

Нашел это. Размещать это, как это может помочь кому-то.

find /home/user01 -name *.java | xargs grep "teststring"

Пожалуйста, исправьте, если есть лучший способ.

0
grep -irl teststring *java

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .