Grep – это действительно утилита оболочки терминала Linux/Unix, которая ищет в документе последовательность символов. Регулярное выражение, похоже, является термином для поиска текстового шаблона. Он выводит строку с результатом, когда обнаруживает такое же совпадение. При просмотре огромных файлов журналов на помощь приходит запрос grep. Итак, grep –R использовался для исключения каталогов при использовании некоторых ключевых слов. Давайте шаг за шагом обсудим grep –R в этоq статье.
Дайте понять, что у вас установлен и настроен любой дистрибутив Linux. Мы используем систему Ubuntu 20.04 для реализации в этой статье. С другой стороны, у вас также должны быть права пользователя root. Откройте командный терминал, чтобы начать работу.
Когда вы открываете командный терминал, вы находитесь в домашнем каталоге системы Ubuntu 20.04. Давайте перейдем в каталог документов. Для этого вы должны использовать указанную ниже команду cd в командной оболочке вместе с путем к каталогу.
$ cd ~/Documents
Теперь вы находитесь в каталоге Documents вашей системы Linux. Создадим три новых файла в каталоге Documents. Чтобы создать новые файлы текстового типа, попробуйте следующую сенсорную команду в оболочке, за которой следует имя нового файла. Как видите, мы создали три файла с именами «one.txt», «new.txt» и «test.txt».
$ touch one.txt $ touch new.txt $ touch test.txt
Вы должны добавить некоторые текстовые данные или информацию в каждый файл отдельно, как вы можете видеть на изображениях ниже. Теперь сохраните все файлы и закройте.
Теперь вернитесь к терминалу и перечислите все файлы и папки, перечисленные в каталоге Documents. Выполните простую команду ls, чтобы сделать это, как показано ниже. У вас будет вывод всех файлов и папок, лежащих в каталоге Documents. Вы можете видеть, что недавно созданные и обновленные текстовые файлы также присутствуют.
$ ls
Теперь наша очередь попробовать команду grep –R для каталога Documents и его файлов или папок. Мы будем использовать команду grep –R, чтобы исключить каталоги при использовании одного ключевого слова или уникального слова. У нас будет команда, которая будет искать это конкретное слово во всех файлах, находящихся в папке Documents, за исключением одного каталога, который был указан для исключения в команде. Итак, мы собираемся исключить каталог «Wild», который в настоящее время присутствует в каталоге «Documents». Итак, попробуйте следующую команду grep, чтобы исключить каталог «Wild» вместе с флагом –R, который использовался для рекурсивной функции, а «AndreyEx» использовался в качестве ключевого слова для поиска в файлах.
$ grep –exclude-dir “Wild” –R “AndreyEx”
Посмотрим на оба файла. Попробуйте выполнить команду cat, чтобы увидеть, что файл «new.txt» содержит ключевое слово «AndreyEx».
$ cat new.txt
Другой файл, «test.txt», содержащий ключевое слово «AndreyEx», был отображен с помощью приведенной ниже команды cat.
$ cat test.txt
Теперь давайте исключим тот же каталог «Wild» из папки «Documents» с помощью другого ключевого слова «brave», если он находится в каких-либо файлах. Итак, попробуйте следующую команду grep, чтобы исключить каталог, как показано ниже. Выходное изображение показывает два совпадающих выходных файла для ключевого слова «brave» в двух файлах, «test.txt» и «one.txt».
$ grep –exclude-dir “Documents/Wild” –R “brave.”
Вы можете проверить, что файл «one.txt» содержит ключевое слово «Documents», используя команду cat.
$ cat one.txt
В выводе файла «test.txt», можно проверить ключевое слово «brave» с использованием команды cat.
$ cat test.txt
Давайте перейдем в подкаталог «Wild» папки «Documents» с помощью команды cd в оболочке.
$ cd ~/Documents/Wild
Давайте создадим три новых файла, «bin.txt», «had.txt» и «sec.txt» в каталоге «Wild», используя указанную ниже сенсорную команду. Добавьте текстовые данные во все файлы, сохраните и закройте их.
$ touch bin.txt $ touch had.txt $ touch sec.txt
Давайте перечислим все каталоги, используя команду ls, как показано ниже. В нем вы найдете все три вновь созданных файла.
$ ls -a
Давайте попробуем ту же команду grep в вашем командном терминале, чтобы исключить каталог «Wild» при использовании другого ключевого слова «I» в качестве соответствия, как показано ниже.
$ grep –exclude-dir “Documents/Wild/” –R “I”
Теперь вывод этой команды показывает ключевое слово «I» в файлах, содержащихся в папке Documents, в то время как каталог «Wild» был проигнорирован с использованием ключевого слова «exclude-dir».
Теперь давайте исключим тот же каталог «Wild» с помощью другого ключевого слова «rimsha» из команды grep, показанной ниже в терминале.
$ grep –exclude-dir “Documents/Wild” –R “rimsha”
Давайте сначала перейдем в папку «Documents», используя команду cd, как показано ниже.
$ cd ~/Documents
Теперь перечислим все файлы и папки с документами, используя команду ls ниже. Вывод показывает некоторый текст и другие файлы вместе с одним подкаталогом «Wild».
$ ls
Воспользуемся той же командой grep, чтобы исключить каталог «Wild» из этой папки, используя ключевое слово «AndreyEx» во флаге. Вывод показывает четыре текстовых файла, в тексте которых есть слово «AndreyEx», в то время как каталог «Wild» был исключен и не проверялся.
$ grep –exclude-dir “Wild” –R “AndreyEx”
Используя Ubuntu 20.04, мы уже понимаем, как и когда использовать команду grep –R. Команда grep чрезвычайно универсальна и помогает находить текст, встроенный в сотни документов.