grep

Как использовать Grep рекурсивно?

Как использовать Grep рекурсивно?

Команда Grep используется для поиска текста в файлах. Это универсальный шаблон, который вызывает grep с -r. -Опция R рекурсивно ищет файлы из подкаталогов, начиная с текущего каталога. Команда запускается из каталога верхнего уровня. Например, / home / abc и т. Д. Grep - это инструмент для получения зависимостей при переходе с одного хоста на другой. Если мы не укажем каталог в команде, grep будет искать в текущем рабочем каталоге. Для рекурсивного выполнения grep есть три аргумента, которые мы взяли из справочной страницы grep.

$ Man grep

-include используется для точного совпадения в файле, который может быть файлами, которые присутствуют в каталоге, или по умолчанию. -r подразумевает имя каталога, как описано ранее, если в команде не определен путь, текущий каталог считается. Он следует только по символической ссылке. -R сильно отличается от -r, потому что он читает все файлы, а не только символически определенные.

Синтаксис

Grep -R «шаблон» / путь /

«Путь» - это «путь к каталогу». И шаблон - это слово или строка, которую вы хотите найти.

Предварительное условие

Чтобы понять рекурсивную функцию grep, у вас должна быть операционная система Linux. После установки вы настроите Linux, указав имя пользователя и пароль. После этого вы получите права доступа ко всем приложениям в этой операционной системе.

Все файлы в Linux

Эта команда поможет вам найти все имена файлов в каталогах вашей системы. Поскольку -l работает с предоставлением только имен файлов, -r поможет выполнять символический поиск везде, где присутствует требуемое слово, будет выводиться. Принимая во внимание, что «Акса» - это слово, которое мы хотим найти. У этой команды нет пути к каталогу, потому что здесь нам нужны все возможные имена файлов в системе. Если мы указали путь, то процесс поиска будет иметь ограничения.

$ grep -r -l «акса»

Простой пример

Чтобы понять дилемму рекурсивности с помощью пути, мы представили простой пример, чтобы помочь пользователю. Как показано в приведенной ниже команде, «универсальный» - это слово, которое мы хотим найти. После слова идет каталог, в котором мы хотим отсортировать. Он показывает как имя файла с каталогом, так и весь текст внутри файла. -r также показывает двоичные файлы.

$ grep -r универсальный / главная / аксаясин

Рекурсивный поиск во всех каталогах и подкаталогах

Поскольку все мы знакомы с функцией «*» в поисковой системе. Подразумевает сортировку по всем файлам. Итак, команда отобразит соответствующие данные из всех файлов. Слово «дом» нужно искать рекурсивно с помощью оператора grep.

$ grep -r «дом» *

Он показывает имена файлов и текст внутри, выделяя искомое слово, указывая на то, что совпадение существует. Только один текстовый файл содержал это слово, которое отображается в результирующей строке.

Рекурсивно Grep для строки

В отличие от приведенных выше примеров, grep работает со строкой в ​​определенном каталоге. / etc / - это каталог команд, который означает, что поиск будет осуществляться через этот каталог, IP-адрес компьютера. Его информация сохраняется в каталоге, а имена файлов находятся в каталоге / etc / ppp /. Опция - это имя конкретной папки. Эта команда прочитает все файлы в указанном каталоге.

$ grep -r «192.168.1.5 дюймов / etc /

Имена файлов в выводе могут быть подавлены с помощью опции -h. Команда выглядит следующим образом.

$ grep -h -R "192.168.1.5 дюймов / etc /

Оба разделителя можно записать как -h -R в команде.

Рекурсивный поиск без каталога

Рекурсивный поиск также можно выполнить без использования каталога, просто выполнив поиск слова с помощью одного слова.

$ grep -r жена

Слово «жена» ищется во всех каталогах автоматически, потому что, когда каталог не указан, процесс поиска будет продолжаться во всех файлах и каталогах системы. Он также будет включать двоичные файлы вместе с текстовыми файлами. Сначала отображаются адрес файла и имена файлов. В то время как текст внутри файла отображается. Отображается не только простой текст, но и команда grep, примененная к тексту файла, i.е., grep 'Я домашняя жена'.

Grep Exact Multiple Patterns

Поиск по нескольким методам также является функцией, полученной с помощью команды grep. «-Rw» используется для изучения конкретного матча. «-E» используется для добавления более одного шаблона в команду. Путь к каталогу указан для удобства поиска в системе. Двоичные файлы исключаются, потому что ограничение вводится при добавлении каталога в команду. Вывод содержит имя каталога файла и имя файла. Также отображается текст внутри файла.

$ grep -rw '/ главная / аксаясин /'

Искомые слова выделяются в тексте файла. Оба искомых термина должны присутствовать в одном файле. Есть вероятность наличия слов в разных файлах, как показано в выводе.

Рекурсивно с использованием Grep - -Include

«-Include» соответствует заданному шаблону файла и работает эффективно, поскольку также ускоряет процесс поиска, который работает с большинством файлов. Здесь он не содержит двоичных или скомпилированных файлов или файлов изображений. Расширение файла используется для добавления ограничений к команде. Каталог упоминается для получения необходимого вывода. Включение ключевого слова в grep довольно продвинуто по сравнению с другими функциями.

$ grep -r - -include = »* txt» «сестра» / home / aqsayasin

Заключение

В этой статье мы объяснили каждый пример, чтобы продемонстрировать использование рекурсивной функции grep. Рекурсивная функция используется для поиска с ограничениями и точно во всех каталогах в системе. Если каталог отсутствует, по умолчанию считается текущий каталог.

Игры HD Remastered для Linux, ранее не выпускавшиеся для Linux
Многие разработчики и издатели игр придумывают HD-ремастеры старых игр, чтобы продлить жизнь франшизы, порадовать фанатов, требующих совместимости с с...
Как использовать AutoKey для автоматизации игр под Linux
AutoKey - это утилита автоматизации рабочего стола для Linux и X11, запрограммированная на Python 3, GTK и Qt. Используя его функции сценариев и MACRO...
Как показать счетчик FPS в играх для Linux
Игры для Linux получили серьезный толчок, когда Valve объявила о поддержке Linux для клиента Steam и своих игр в 2012 году. С тех пор многие игры AAA ...