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

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

sed: даты в журнале бэкапов в ISO

средне~5 мин

Скрипт бэкапа пишет в /root/backup.log даты в американском формате MM/DD/YYYY (месяц первым), например backup ok 10/23/2026 03:00. Переведи все даты в YYYY-MM-DD, оставив остальной текст строк как есть, и запиши результат в /root/backup_iso.log.

Что потренируешь:
  • sed -E
  • группы захвата
  • обратные ссылки
  • счётчик {n}
  • формат даты

Разбор темы

Перестановка частей даты — подстановка с группами захвата: числа берутся в скобки, а в замене выводятся по номерам в новом порядке. Порядок групп считается по открывающим скобкам слева направо, поэтому для MM/DD/YYYY месяц — первая группа, день — вторая, год — третья. Когда в шаблоне много /, команде s удобнее дать другой разделитель (s#…#…#). Без якорей подстановка меняет дату в любом месте строки, не трогая остальное.

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

  1. даты в ISO, остальной текст на месте

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