Искать слово в файлах и папках рекурсивным методом в Linux

Moovix » Блог » Искать слово в файлах и папках рекурсивным методом в 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 и заполните поисковую форму как показано ниже:

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

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

Готово

Moovix » Блог » Искать слово в файлах и папках рекурсивным методом в Linux