Как найти слово в текстовых файлах из каталога

Предположим, что у меня есть каталог с именем _file и включает в себя два подкаталога, такие как _1 и _2, и в каждом из них у меня есть несколько текстовых файлов. Я хочу выполнить поиск по такому слову, как foo, в одном из этих текстовых файлов. Как я могу это сделать? Я хочу знать, какие текстовые файлы во всем каталоге содержат это слово?

Если вы не хотите устанавливать дополнительное программное обеспечение, вы можете просто использовать grep в терминале. Для рекурсивного поиска по каталогам вы можете использовать -r вариант (см. man grep для получения подробной информации). Синтаксис, который вы ищете, вероятно,:

grep -r "[STRING TO SEARCH FOR]" "[DIRECTORY TO SEARCH]"

Так, например, если я хочу выполнить поиск строки "asdf" во всех файлах во всех подкаталогах "/tmp/testdir/", команда выглядит следующим образом:

grep -r "asdf" "/tmp/testdir/"

Кавычки не являются строго необходимыми, но если ваша строка или путь к каталогу содержат пробелы, в противном случае вам пришлось бы замаскировать их с помощью символа \...

  1. Откройте терминал.
  2. Устанавливать ack-grep набрав sudo apt-get install ack-grep
  3. Перейдите в каталог, в котором вы хотите выполнить поиск, и введите ack-grep foo. в нем перечислены все совпадения во всех файлах в этом каталоге.

Вы можете использовать рекурсивный grep с -l установите флажок, чтобы печатать только имя файла вместо соответствующей строки:

grep -Rl foo .

Или же вы можете использовать find:

find . -type f -exec grep -l foo {} +

Или. Вы можете использовать extglob и нормальный grep

shopt -s extglobgrep -l foo **/*

Просто установите gnome-search-tool с помощью sudo apt-get install gnome-search-tool
Найдите в dash "поиск файлов" и запустите его.

Смотрите изображение ниже:

enter image description here

  1. Оставьте раздел "имя содержит" пустым.
  2. Выберите свою папку.
  3. Разверните часть "выберите дополнительные параметры" и выберите "содержит текст", а затем нажмите Добавить.
  4. Введите здесь текст, который вы хотите найти, и нажмите кнопку Найти в правом нижнем углу.

Наслаждаться.

в приведенном здесь вопросе показаны два варианта рекурсивного поиска по всему каталогу на предмет наличия строк в текстовых файлах: command line - Find specific word in all files in and beneath current directory - Ask Ubuntu

Ваш вопрос неясен. Вы хотите использовать терминальную команду (очевидно, но это относится к основам Unix, таким как системное обучение, вы можете сами это погуглить), данное программное обеспечение или что?

@begueradj У меня сейчас нет никакого программного обеспечения для этого. Поэтому я спросил генерала :wink:

Пожалуйста, примите ответ @soulsource, поскольку это минимизированное решение по сравнению с предложением установить дополнительное программное обеспечение.