Найти тему
Merion Academy

Рекурсивно найти слово в файлах и папках Linux

Оглавление

Дистрибутив 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 и заполните поисковую форму как показано ниже:

-2
  • Start at: - директория, где нужно осуществлять поиск;
  • File name: - маска поиска. Например, искать только в файлах расширения txt будет - *.txt;
  • Content - сама фраза;

Нажимаем OK и получаем результат:

-3

Готово. Наслаждайтесь :)