>_ IzzyLab

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

Телефонные номера

средне

Из /root/contacts.txt извлеки номера телефонов в формате +7-XXX-XXX-XX-XX в /root/phones.txt.

Что потренируешь:
  • grep
  • regex
  • квантификатор-счётчик
  • экранирование
  • телефоны

Разбор темы

Извлечение строк фиксированного формата — задача для grep -oE, где формат разбивается на последовательность частей и каждая описывается отдельно. Здесь встречаются два тонких момента regex: символ + сам по себе является квантификатором («один и больше»), поэтому как буквальный плюс он требует экранирования; а «ровно N цифр подряд» задаётся классом цифр с квантификатором-счётчиком в фигурных скобках {N}. Разделители-дефисы вне класса символов спецсимволами не являются и пишутся как есть.

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

  1. Номер извлечён
  2. Найдено 2 номера

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