На этот вопрос уже есть ответ здесь:
Предположим, у меня есть каталог с именем _file и включает два подкаталога _1 и _2, и в каждом из них у меня есть несколько текстовых файлов. Я хочу найти слово типа foo в одном из этих текстовых файлов. Как я могу это сделать? Я хочу знать, какие текстовые файлы во всем каталоге содержат это слово?
ack-grep
путем ввода sudo apt-get install ack-grep
ack-grep foo
. это перечисляет все соответствия во всех файлах в соответствии с тем каталогом. Если Вы не хотите устанавливать дополнительное программное обеспечение, можно просто использовать grep
в терминале. Для рекурсивного поиска каталогов можно использовать -r
опция (см. man grep
для деталей). Синтаксис, который Вы ищете, вероятно:
grep -r "[STRING TO SEARCH FOR]" "[DIRECTORY TO SEARCH]"
Так, например, если я хочу искать строку "asdf" во всех файлах во всех подкаталогах "/tmp/testdir /" команда похожа на это:
grep -r "asdf" "/tmp/testdir/"
кавычки не строго необходимы, но если бы Ваша строка или путь к каталогу содержат пробелы, иначе необходимо было бы замаскировать их использующий \символ...
Можно использовать рекурсивный grep
с эти -l
флаг, чтобы только распечатать имя файла вместо подобранной строки:
grep -Rl foo .
Или, можно использовать find
:
find . -type f -exec grep -l foo {} +
Или. можно использовать extglob
и нормальный grep
shopt -s extglob
grep -l foo **/*
Просто установка gnome-search-tool
использование sudo apt-get install gnome-search-tool
Поиск в тире для 'поиска файлов' и запуска это.
См. изображение ниже:
Обладают.