Linux

Основы sed: пошаговое руководство по редактированию текста за 5 минут

В этом гайде вы узнаете основные команды sed для редактирования текста в терминале Linux. После выполнения инструкции вы сможете быстро изменять, заменять и выводить строки текста.

Обновлено 28 июня 2026 г.
5-10 мин
Низкая
FixPedia Team
Применимо к:Ubuntu 20.04Ubuntu 22.04Debian 11Fedora 36

Введение

sEd (Stream Editor) — это универсальный инструмент для редактирования текста в терминале Linux. С его помощью можно быстро изменять файлы, заменять подстроки, фильтровать строки и извлекать нужные поля — всё это делается одной командой. В этом гайде вы освоите базовые команды и сможете выполнять типичные операции за несколько минут.

Требования

Предварительные условия

  • Любая современная дистрибутива Linux (Ubuntu, Debian, Fedora, Arch и т.д.)
  • Права на чтение/запись в целевой файл
  • Установленный sed (обычно уже присутствует в системе)

Шаг 1: Проверка установки sed

Убедитесь, что sed работает в вашей системе.

sed --version

Если команда не найдена, установите утилиту с помощью подходящего пакетного менеджера:

# Для Debian/Ubuntu
apt install sed

# Для RHEL/CentOS
yum install sed

# Для Alpine
apk add sed

Шаг 2: Замена текста в файле

Самая распространённая операция — замена одного слова на другое во всём файле.

sed -i 's/old/new/g' file.txt
  • -i — изменяет файл напрямую (без вывода).
  • s/old/new/g — шаблон замены, где old — исходная подстрока, new — новая, g означает глобальную замену во всей строке.

Шаг 3: Вывод совпадающих строк

Если вам нужна только часть файла, используйте sed -n для вывода совпадающих строк.

sed -n '/error/p' system.log
  • -n отключает автоматический вывод всех строк.
  • /error/p — команда p, которая выводит строку, если она содержит шаблон error.

Шаг 4: Извлечение и изменение данных

Команды sed позволяют также преобразовывать данные перед выводом. Пример: замена разделителя и фильтрация.

sed -n 's/:/ /; /error/p' logfile
  • s/:/ / заменяет двоеточие на пробел.
  • /error/p выводит только строки, содержащие error.

Проверка результата

  • Замена: Проверьте файл после команды -i, например grep -n old file.txt не должно найти совпадающих строк.
  • Вывод строк: Убедитесь, что только нужные строки отображаются, лишние удалены.
  • Преобразование: Проверьте, что разделители изменились, а отфильтрованные строки соответствуют шаблону.

Возможные проблемы

  • sed: command not found – утилита отсутствует; установите её через пакетный менеджер дистрибутива.
  • Permission denied – у вас нет прав на запись; запустите команду от имени root (sudo) или измените права доступа к файлу.
  • Неправильное регулярное выражение – проверьте экранирование специальных символов (\., \*). Используйте -E, чтобы включить расширенные регулярные выражения, если нужно.
  • Не удалось сохранить изменения – файл может быть защищён системой (например, /etc/passwd). Убедитесь, что вы изменяете разрешённый файл или используете резервное копирование.

Следуйте этим шагам, и вы сможете эффективно использовать sed для повседневных задач редактирования текста в Linux. Удачного кодирования!

Часто задаваемые вопросы

Как установить sed в Linux?
Что такое регулярные выражения в sed?
Как избежать потери данных при редактировании?
Как вывести только совпадающие строки?

Полезное

Проверка установки и версии sed
Замена текста в файле
Вывод совпадающих строк
Извлечение и изменение данных