Предположим, что у меня есть каталог с именем _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/"Кавычки не являются строго необходимыми, но если ваша строка или путь к каталогу содержат пробелы, в противном случае вам пришлось бы замаскировать их с помощью символа \...
- Откройте терминал.
- Устанавливать
ack-grepнабравsudo apt-get install ack-grep - Перейдите в каталог, в котором вы хотите выполнить поиск, и введите
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 "поиск файлов" и запустите его.
Смотрите изображение ниже:

- Оставьте раздел "имя содержит" пустым.
- Выберите свою папку.
- Разверните часть "выберите дополнительные параметры" и выберите "содержит текст", а затем нажмите Добавить.
- Введите здесь текст, который вы хотите найти, и нажмите кнопку Найти в правом нижнем углу.
Наслаждаться.
в приведенном здесь вопросе показаны два варианта рекурсивного поиска по всему каталогу на предмет наличия строк в текстовых файлах: command line - Find specific word in all files in and beneath current directory - Ask Ubuntu
Ваш вопрос неясен. Вы хотите использовать терминальную команду (очевидно, но это относится к основам Unix, таким как системное обучение, вы можете сами это погуглить), данное программное обеспечение или что?
@begueradj У меня сейчас нет никакого программного обеспечения для этого. Поэтому я спросил генерала ![]()
Пожалуйста, примите ответ @soulsource, поскольку это минимизированное решение по сравнению с предложением установить дополнительное программное обеспечение.