What’s-Difference-Between-Grep,-Egrep-and-Fgrep-in-Linux

Разница между grep, egrep и fgrep в Linux

В Linux существуют утилиты grep, egrep и fgrep, предназначенные для поиска текста в файлах. На первый взгляд они похожи, но различаются способом обработки поисковых шаблонов:

  • grep — использует базовые регулярные выражения (от англ. Basic Regular Expressions), в которых специальные символы (?, +, {}, |) не работают как операторы, пока их не экранировать обратным слэшем (\);
  • egrep (или grep -E) — использует расширенные регулярные выражения (от англ. Extended Regular Expressions), где большинство операторов работают без экранирования;
  • fgrep (или grep -F) — не применяет регулярные выражения, а ищет точное совпадение по тексту, воспринимая все символы буквально.

В этой статье на практических примерах мы рассмотрим, чем отличаются grep, egrep и fgrep в Linux.

Содержание:

  1. Использование команды grep 
  2. Применение утилиты egrep
  3. Поиск текста с помощью fgrep
  4. Вывод

Использование команды grep

Начнем с простого: найдем с помощью утилиты grep все строки, где встречается последовательность символов hat. Это может быть отдельное слово или его часть. Выполним в терминале следующую команду:

 

grep find simple text

Немного усложним задачу и добавим в поисковый шаблон знак +. В команде grep этот символ по умолчанию не считается специальным. Чтобы утилита поняла, что + — это не просто знак, а является оператором «один или больше», его следует экранировать обратным слэшем. Например:

 

grep escaping meta symbol plus

Аналогично нужно экранировать и другие специальные символы, например, | (который используется как оператор «ИЛИ»):

 

grep escaping or symbol

Читайте также: Как найти несколько слов в файле в Linux.

Применение утилиты egrep

Утилита egrep работает с расширенными регулярными выражениями. В них многие специальные символы (такие как +, ?, {}, |) сразу воспринимаются как операторы без необходимости обозначения. То есть, их не нужно дополнительно экранировать.

Например:

 

egrep meta symbol plus

Благодаря расширенным регулярным выражениям, с помощью egrep можно искать совпадения в тексте по более сложным шаблонам. Например, найдем в файле слова, начинающиеся на h и заканчивающиеся на t:

 

egrep find start with h end with t

Читайте также: 5 команд для поиска файлов в Linux.

Поиск текста с помощью fgrep

Команда fgrep (или grep -F) не использует регулярные выражения и ищет только точные совпадения текста. Все символы воспринимаются буквально, включая те, которые обычно считаются специальными.

Например:

 

fgrep find meta symbols in text

Читайте также: Как использовать find, чтобы найти файлы разных форматов в Linux.

Вывод

Теперь Вы знаете, в чем основные отличия между утилитами grep, egrep и fgrep в операционной системе Linux. Надеемся, что наша статья была полезной для Вас!

Спасибо за время, уделенное прочтению статьи!

Если возникли вопросы — задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасностиполный курс по кибербезопасностикурсы DevNet / DevOps (программируемые системы) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Больше похожих постов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики