ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Исключение терминов в Grep

Команда Pgrep в Linux

Печать глобального регулярного выражения – это универсальная утилита для терминала. Как видно из названия, это помогает в поиске текста в файле с помощью регулярных выражений. Grep изначально возник как утилита Unix для работы на этой операционной платформе. После настройки Linux он может получить доступ ко многим приложениям в этой операционной системе. Большинство функций Grep включены в сопоставление текста файла, присутствующего в команде. Функция исключения также полезна, как сопоставление любого шаблона и его отображение, поскольку помогает удалить конкретное совпадение из файла. Это помогает исключить слово или слова из строк в файле. Мы можем получить помощь на странице руководства в системе, применив команду, добавленную ниже.

$ man grep

 

Мы обнаружили два важных ключевых слова, используемых для исключения терминов из любого файла. –V используется для инвертирования совпадения; затем он выводит несовпадающие строки в тексте.

 

Предпосылка

Для выполнения этой функции нам необходимо, чтобы в нашей системе был установлен Linux, настроенный на виртуальной машине. Добавив имя пользователя и пароль, вы получите доступ к приложениям в операционной системе. Вам нужен терминал, чтобы открывать и запускать на нем команды.

Exclude term (word)

Пример 1

Чтобы применить эту функцию к слову, нам нужен файл, существующий в нашей системе. Если у вас нет файлов, сначала создайте их. У нас есть файл с именем fileb.txt. Мы будем использовать команду cat для отображения текста.

$ cat fileb.txt

 

Это изображение показывает вывод файла.

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

$ grep –I –v –E 'ubuntu' fileb.txt

 

В приведенной выше команде мы использовали –v, который инвертирует текст в запросе. Ubuntu – это слово, которое мы хотим исключить из данного текста. –I используется для чувствительности к регистру и является необязательной, если желаемый результат должен быть получен без использования –i. «|» используется для исключения или сопоставления точных слов. Вывод этой команды должен быть добавлен ниже.

В этом выводе вы увидели, что «ubuntu» удалена из файла. Чтобы извлечь из файла другое слово, например Linux, мы можем изменить данную команду.

$ grep –I –v –E ‘ubuntu’ fileb.txt

 

Таким образом, одновременно будет исключено более одного слова.

 

Пример 2

В этом примере из файла удаляется вся строка. Целевое слово упоминается в команде, и команда работает таким образом, что слово сопоставляется с текстом в строке, и таким образом вся строка удаляется из файла. Синтаксис команды такой же, как описано выше в этом руководстве. Пусть у нас есть файл с именем file22.txt. Во-первых, мы отобразим все содержимое, чтобы соответствующий результат показал разницу.

$ Cat file22.txt

 

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

$ grep –v ‘technical’ file22.txt

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

 

Исключить термин из нескольких слов

В отличие от приведенных выше примеров, здесь мы упомянем несколько команд, чтобы исключить их из текстового файла. Cat и Grep действуют одинаково. Теперь с помощью данной команды мы разберемся с этой концепцией.

$ cat file20.txt | grep –v –e “good” –e “years”

$ grep –v –e “good” –e “years” file20.txt

 

В этой команде –e используется более чем для одного термина в качестве входных данных в команде. Это удалит оба слова из текста. Первая команда подразумевает, что файл должен быть отображен, а затем удаляются слова, которые мы хотим исключить. Одновременно вторая команда будет использовать первым –v для удаления слов, написанных далее в команде.

Вот еще один способ исключения. Во-первых, мы исключаем одно слово, указав адрес файла, а после «|» введем второе слово.

$ grep –v “years” file20.txt  | grep “good”

 

Исключить файл

Подобно словам, мы также можем исключить файл из системы. Мы будем использовать следующую команду.

$ grep – exclude “file21.txt” grep *.txt

Эта команда удалит файл. Эта команда будет использовать ключевое слово «-exclude» для удаления файла. «* .Txt» означает, что файл имеет расширение «txt». Команда будет работать со всеми текстовыми файлами для поиска соответствующего файла, который присутствует в системе.

 

Исключить каталог с Word

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

$ grep - -exclude-dir “good” –R “grep”

 

«Dir» представляет каталог в системе. –R показывает рекурсивную функцию. Чтобы внести какие-либо изменения в каталоги, мы всегда используем –R.

Мы процитируем другой пример, который показывает, что каталоги, содержащие слово «Auro», удаляются из системы.

$ grep - -exclude-dir “directory” –R “Auro”

 

Он покажет все каталоги, включая слово Auro.

 

Исключить слово с помощью каталога

Поскольку мы исключили каталог с помощью слова, мы также можем исключить слово с помощью каталога или указать полный путь к файлу.

$ grep –R “years” /home/andreyex/file20.txt/ | grep –v “exclude this”

 

В этой команде мы хотим исключить слово год. Чтобы представить каталог, мы напишем –R. Рассмотрим файл 20.txt, как показано ниже.

Теперь примените следующую команду, используя каталог в качестве входных данных.

Результат, полученный от этой команды, исключает слово год из вывода.

Переходим к другому примеру. Здесь мы исключим слово «grep» из каталога, используя следующую добавленную команду.

$ grep –RI “grep”

 

Заключение

Исключение термина – это альтернатива процессу сопоставления Grep. Это помогает удалить ненужные слова или строки из файлов, имеющихся в системе. Эта статья поможет вам избавиться от нежелательных слов.

Exit mobile version