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

Эта задача — шаг 3 курса «sed: потоковый редактор»

sed: выровненная таблица в одну строку

легко~3 мин

В /root/ports.txt таблица портов из отчёта: колонки выровнены пробелами, между значениями их по несколько. Для импорта нужен ровно один пробел между колонками — замени каждую серию пробелов на один и сохрани в /root/ports.single.txt.

Что потренируешь:
  • sed -E
  • квантификатор +
  • флаг g
  • схлопывание повторов

Разбор темы

Схлопнуть повторы — подстановка, где слева «символ один или больше раз», а справа один такой символ. Квантификатор + («один и больше») здесь принципиален: * («ноль и больше») совпадает и с пустой строкой между любыми символами. А флаг g нужен потому, что s без него меняет только первое совпадение в строке, и в таблице с несколькими колонками остальные серии пробелов уцелеют.

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

  1. серий пробелов не осталось
  2. таблица сохранена

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