Практическое задание

Эта задача — шаг 8 курса «Текст в консоли: grep, sed, awk»

Контакты из протокола встречи

легко~3 мин

В /root/meeting.txt протокол встречи, в тексте упомянуты e-mail участников — в угловых скобках, в скобках, через запятую. Вытащи все адреса в /root/contacts.txt: по одному на строку, только сам адрес, без скобок и знаков препинания.

Что потренируешь:
  • grep -oE
  • регулярные выражения
  • классы символов
  • email

Разбор темы

Когда из текста нужны не строки, а куски внутри них, grep переключают в режим «только совпадение»: каждое найденное вхождение печатается с новой строки. Email раскладывается на части — локальное имя, @, домен и зону, — и каждая часть описывается своим классом допустимых символов. Окружающие скобки и запятые в эти классы не входят, поэтому совпадение само останавливается на границе адреса. Точка внутри класса [...] литеральная, а вне его означает «любой символ» — её экранируют.

Что проверяется

  1. найдено 4 адреса
  2. адреса извлечены целиком, без скобок и запятых

Как это выглядит