Обратите внимание, что вся информация на этом портале переведена с других языков, поэтому некоторые фразы могут быть неточными. Надеемся на ваше понимание и желаем успешной работы с сайтом! С уважением, создатели сайта. Наша почта: info@rubookmac.com

Как исключить Word с помощью grep

Средство командной строки grep чрезвычайно полезно для поиска текстовых данных для строк и фрагментов, которые соответствуют определенной строке, символу, слову или регулярному выражению. Хотя большинство применений grep предназначены для сортировки данных для синтаксических совпадений, что, если вы хотите вместо этого? Исключение совпадений строк с grep одинаково полезно, как поиск и печать совпадений в grep, поэтому давайте рассмотрим, как исключить совпадения строк и исключить слова grep.

Очевидно, что вам нужно иметь опыт командной строки и воздействие grep, чтобы найти это полезным. Если вы хотите следовать, вы можете открыть приложение терминала и попробовать сами. Поскольку grep является агностической утилитой OS, вы можете использовать трюк exclude в Mac OS, Linux, unix или что-то еще, что у вас есть, что использует grep.

Как исключить одно слово с grep

Самый простой способ исключить строки со строковым или синтаксическим соответствием — использовать grep и -v флаг.

Например, предположим, что мы используем cat для печати файла в командной строке, но мы хотим исключить все строки, содержащие термин «ThisWord», тогда синтаксис будет выглядеть следующим образом:

cat example.txt | grep -v «ThisWord»

Результатом будет текстовый файл example.txt, но исключая любую строку, содержащую строку, совпадающую с «ThisWord».

Вы также можете использовать grep непосредственно на файлах и исключать совпадения строк на основе слов или синтаксиса, например:

grep -v «ThisWord» example.txt

Используйте то, что лучше всего подходит для вашего конкретного рабочего процесса.

Как исключить несколько строк или слов с помощью grep

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

Сначала давайте рассмотрим приведенный выше пример использования cat в файле, переданном в grep, и исключить любые строки, соответствующие двум словам; «Word1» и «Word2», это будет выглядеть следующим образом:

cat example.txt | grep -v -e «Word1» -e «Word2»

Любые строки, содержащие «Word1» или «Word2», будут исключены из распечатанных результатов.

Вы также можете использовать grep непосредственно в файлах так же, как и раньше:

grep -v -e «Word1» -e «Word2» example.txt

Другой подход заключается в том, чтобы отделить исключение с помощью grep, используя канал для разделения каждого соответствия, например:

grep -Ev «word1 | word2» example.txt

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

Отлично, покажите мне полезный пример исключения данных с помощью grep!

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

В приведенном здесь примере мы будем печатать историю команд для совпадений строк по умолчанию, но исключаем все, что связано с iTunes, как определено в «com.apple.itunes»:

history | grep «defaults write» | grep -v -e «com.apple.itunes»

Поэтому, если вы следовали, это сообщит все исторические исполнения команды «по умолчанию», но исключая все, что относится к приложению iTunes. Приятно, да?

Если у вас есть особенно удобное использование исключений матчей с grep, поделитесь ими с нами в комментариях ниже! И если вам понравилась эта статья, вам почти наверняка понравится просматривать наши многочисленные статьи в командной строке, где есть еще много чего поучиться!

Понравилась статья? Поделиться с друзьями: