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