Как найти файлы, которые содержат определенный текст под Linux
Самый популярный интерпретатор команд в Linux — bash. Исторически в Linux была только командная строка, графический интерфейс был добавлен позже. По этой причине функционал Linux в CLI-режиме гораздо богаче, чем «в графике». Лучший способ найти файлы, содержащие необходимый текст под Linux — использовать утилиту grep. Она как правило уже “встроена” во все современные дистрибутивы. Но даже если у вас его не окажется — программу всегда можно установить дополнительно.
Команда для установки в ОС на основе Debian (например, Ubuntu):
apt-get update && apt install grep
Команда для установки в ОС с кодовой базой RedHat (например, Centos):
yum install grep
Чтобы найти все файлы с необходимой строкой, достаточно запустить такую команду:
grep -r <искомый_текст> <где_ищем>
Чтобы сделать вывод более удобным и скрыть сообщения об ошибках, вы можете добавить флаг -s к команде:
Еще один очень полезный флаг — -n. Он покажет номер строки, в которой содержится искомый текст, что может быть полезно для при работе с большими файлами:
Как правильно искать текст в файлах на компьютере с Windows
К сожалению, в Windows нет хороших встроенных инструментов поиска, но мы можем быстро и просто устранить этот недочет Microsoft.
Первый способ — все та же утилита grep. Она была «портирована» на ОС Windows, для использования сделайте следующее:
Загрузите установщик, запустите его и следуйте стандартным шагам мастера установки:
Когда программа установится, стоит добавить новую переменную окружения, это сделает дальнейшую жизнь более комфортной. Откройте дополнительные параметры вашего ПК и отредактируйте переменную PATH:
Добавьте новый параметр в переменную PATH в соответствии с тем, куда была установлена утилита:
Теперь можно просто запустить интерпретатор cmd и выполнить требуемый поиск. Синтаксис программы идентичен таковому в «оригинальном» инструменте под Linux:
ПРИМЕЧАНИЕ: Поскольку утилита была портирована и система Windows для нее все же «не родная», корневой каталог системы отображается в стиле Linux, как «слэш» вместо диска C:.
Другой, более «органичный» для Windows метод — установка любого продвинутого текстового редактора, например Notepad++. Загрузите установщик с сайта проекта, запустите его и установите приложение как любое другое:
Теперь можно использовать Notepad++ для поиска текста, просто запустите его и выберите в меню команду «Поиск» > «Найти в файлах». Затем заполните соответствующие поля условий поиска:
Результат ниже:
Заключение
В этой статье я описал несколько способов, призванных упростить и сделать текстовый поиск по файлам в Linux и Windows более эффективным.