Дистрибутив Linux, несмотря на версию и вид, имеет множество графических оболочек, которые позволяют искать файлы. Большинство из их них позволяют искать сами файлы, но, к сожалению, они редко позволяют искать по содержимому. А особенно рекурсивно. В статье покажем два способа того, как можно рекурсивно найти файлы, которые содержат ту или иную фразу. Поиск будет осуществлен по папкам и директориям внутри этих папок.
Найти фразу в файлах рекурсивно через консоль
Все просто. Открываем серверную консоль, подключившись по SSH. А далее, вводим команду:
grep -iRl "фраза" /директория/где/искать
Например, команда может выглядеть вот так:
grep -iRl "merionet" /home/user/merion
Команда найдет и выведет все файлы, которые содержат фразу merionet в директории /home/user/merion и во всех директориях, внутри этой папки. Мы используем следующие ключи:
- -i - игнорировать регистра текста (большие или маленькие буквы);
- -R - рекурсивно искать файлы в сабдиректориях;
- -I - показывать названия файлов, вместо их содержимого;
Так же, вам могут быть полезны следующие ключи:
- -n - показать номер строки, в которой находится фраза;
- -w - показать место, где слово попадается;
Поиск слова через Midnight Commander
Так же, в консоли сервера, дайте команду:
mc
Эта команда запустит Midnight Commander. Кстати, если он у вас не установлен, его можно просто установить через yum:
yum install mc
Открыв mc, во вкладке Command выберите Find File и заполните поисковую форму как показано ниже:
- Start at: - директория, где нужно осуществлять поиск;
- File name: - маска поиска. Например, искать только в файлах расширения txt будет - *.txt;
- Content - сама фраза;
Нажимаем OK и получаем результат:
Готово. Наслаждайтесь :)