>_ IzzyLab

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

sed: переверни порядок строк

сложно

Переверни порядок строк файла /root/in.txt (последняя строка станет первой, как делает tac), но средствами sed — через hold space. Результат — в /root/out.txt.

Что потренируешь:
  • sed
  • hold space
  • pattern space
  • sed -n
  • адрес последней строки

Разбор темы

У sed кроме основного буфера строки (pattern space) есть второй буфер — hold space, где можно накапливать данные между итерациями по строкам. Команды обмена между буферами (копирование в hold, дописывание hold к pattern), адрес последней строки $ и инверсия адреса ! («кроме») позволяют собирать результат постепенно. Идея переворота — накапливать строки так, чтобы каждая новая оказывалась перед уже накопленным, и напечатать итог один раз в конце; флаг -n отключает лишнюю автопечать.

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

  1. строки перевёрнуты

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