Можно ли найти файл, который содержит определенный текст в Linux? - PullRequest
0 голосов
/ 23 апреля 2011

Рассмотрим ситуацию, когда у меня много файлов в папке «Пример». И если мне нужно найти файл, содержащий определенную фразу, например «Пример класса», как мне это сделать с помощью оболочки Linux?

есть ли в linux функции типа "найти", чтобы сделать это?

Спасибо

Балан

Ответы [ 5 ]

9 голосов
/ 23 апреля 2011

Используйте доброе старое grep:

grep -R "Class Example" Example

, где "Class Example" - строка поиска, Example - каталог, а -R - рекурсивный поиск.

1 голос
/ 23 апреля 2011

Вы можете попробовать что-то вроде этого:

find Example | xargs grep 'Class Example'
0 голосов
/ 09 ноября 2013

Список имен файлов, содержащих данный текст

Вы можете использовать комбинацию find с grep, чтобы найти список имен файлов, содержащих текст, как показано ниже.

find /<path>/Example -name "*" -exec grep -l "Class Example" {} \; 

Даже если вы не используете регистр, такой как «Класс» или «класс», вы можете использовать переключатель -i, чтобы игнорировать регистр. Также, если вы знаете расширение файла, вы можете указать его для атрибута -name. Вы можете прочитать подробности здесь .

0 голосов
/ 23 апреля 2011

Если вам нужен графический интерфейс и / или быстрые результаты, Beagle - отличное решение, которое я использую. Главная страница Beagle.

0 голосов
/ 23 апреля 2011

Вы можете сделать это, используя egrep "text1 | text2" * или используя grep, и cscope также является хорошим инструментом для поиска и редактирования ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...