>_ IzzyLab

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

Массовая замена в конфигах

средне

Приложение переезжает с порта 8080 на 9090. В /etc/app/ лежат несколько .conf-файлов со строкой listen 8080 — замени во всех на listen 9090, сохранив рядом резервные копии с расширением .bak (с исходным содержимым).

Что потренируешь:
  • sed
  • потоковое редактирование
  • подстановка s///
  • in-place правка
  • glob-шаблоны

Разбор темы

sed — потоковый редактор: он читает текст построчно и применяет команды, самая частая из которых — подстановка s/шаблон/замена/. По умолчанию sed пишет результат в стандартный вывод, не трогая файл; чтобы правки записались обратно, есть флаг in-place -i, а приписанный к нему суффикс заставляет сначала сохранить резервную копию исходника. Отдельная идея — не перечислять файлы руками: glob-шаблон шелла раскрывается в список всех подходящих путей, и одна команда обрабатывает их все разом.

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

  1. listen 8080 убран из всех .conf
  2. listen 9090 во всех трёх .conf-файлах
  3. рядом есть .bak-копии с исходным содержимым

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