Гид по технологиям

ex — строчный редактор в Linux: что это и как пользоваться

• 5 min read • Linux • Обновлено 20 Nov 2025
Как использовать ex в Linux — руководство
Как использовать ex в Linux — руководство

Кратко: ex — это классический строчный текстовый редактор, предок vi и родственник Vim. Он полезен для быстрых правок и автоматизации в скриптах, особенно когда нужен редактор, работающий построчно.

Что такое ex?

ex — строчный редактор текста, написанный Биллом Джоем, одним из авторов оригинального vi и ключевым разработчиком BSD. Строчный редактор обрабатывает документ строка за строкой, а не целый экран буфера, как современные полноэкранные редакторы.

Коротко: строчный редактор — это редактор, в котором команды вводятся построчно, а не через интерфейс полного экрана. Он исторически возник для работы с печатающими терминалами (телетайпами), где нельзя было удобно просматривать весь файл на экране.

Важно: ex по-прежнему включён в большинство Unix-подобных систем и полезен для быстрого редактирования из скриптов или на серверах без графики.

Почему ex сохранился до наших дней

  • Он компактен и есть в базовом наборе утилит почти на всех системах.
  • Удобен для пакетной обработки и автоматизации через перенаправление ввода.
  • Команды ex перекрываются с синтаксисом vi/Vim, поэтому знание ex помогает при работе с этими редакторами.

Факт: многие приёмы поиска и замены в ex выглядят как в sed и Vim, поэтому навык переносим.

Запуск ex на Linux

Запустить ex просто. Введите в командной строке:

ex file

Вы увидите пустую строку с символом двоеточия (:). Это режим команд, аналогичный командному режиму vi.

Можно подать сценарий в ex через стандартный ввод. Формат:

ex - file < script

Такой запуск часто используют для пакетного применения набора команд к файлу.

Вывод строк в ex

Чтобы узнать, где вы находитесь в файле, или просто посмотреть строки, используйте команды:

  • :p — напечатать текущую строку.
  • := — напечатать номер текущей строки.
  • Диапазон строк: начальная,конечная. Например, чтобы вывести строки с 3 по 6:
:3,6

Печать диапазона строк в ex

Редактирование строк в ex

Добавить строку можно командой :insert или коротко :i, после которой вводится текст для вставки. Пример:

:i some text

Удалить текущую строку: :delete или :d.

Переместить строку на другую позицию: :move или :m (задаётся целевой номер строки).

Примеры команд редактирования полезно комбинировать в скриптах для массовых правок.

Поиск и замена

Сильная сторона ex — команды поиска и замены, похожие на sed. Общая форма:

s/old/new/

где old — искомый фрагмент, new — замена.

Чтобы выполнить замену по всему файлу, добавьте префикс процента (%) и суффикс /g для глобальной замены:

%s/old/new/g

Поиск и замена в ex — изменённый текст

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

Переход в полноэкранный режим (Vim)

ex тесно связан с vi/Vim. Чтобы перейти в полноэкранный редактор из ex, используйте команду:

:visual

Это откроет интерфейс vi/Vim (если он доступен), где удобно делать интерактивные правки.

Когда ex подходит, а когда нет

Когда ex подходит:

  • Нужны быстрые одноразовые правки на сервере без GUI.
  • Автоматизация и пакетная обработка файлов (скрипты).
  • Ограниченные ресурсы или минимальный набор утилит.

Когда ex не подходит:

  • Интерактивная правка больших фрагментов кода — удобнее полноэкранный редактор.
  • Требуются современные возможности подсветки синтаксиса, плагины и т. п.

Альтернативные подходы

  • Vim/Neovim — полноэкранные потомки vi с расширенной экосистемой.
  • sed — для пакетной обработки и простых преобразований строк в потоках.
  • awk — для более сложной текстовой обработки и анализа полей.
  • nano — простой полноэкранный редактор для быстрых локальных правок.

Выбор зависит от задачи: для автоматических замен в скриптах часто достаточно sed, а для интерактивной работы — Vim.

Эвристики и правила выбора

  • Если вам нужно изменить буквально одну-две строки в удалённом файле без интерфейса — используйте ex.
  • Если предполагается много интерактивной навигации и рефакторинга — перейдите в Vim.
  • Для одноразовой массовой замены в потоке — sed быстрее и компактнее.

Чек-листы по ролям

Администратор сервера:

  • Убедиться в наличии ex на целевой системе.
  • Подготовить резервную копию файла перед массовыми правками.
  • Использовать пакетный запуск: ex - file < script.

Разработчик:

  • Использовать :visual для перехода в Vim при необходимости.
  • Для шаблонных замен собирать тестовый набор изменений и прогонять их на копии.

SRE/DevOps:

  • Автоматизировать тесты правок (см. раздел про тесты).
  • Логировать изменения и хранить версии файлов.

Критерии приёмки

  • Правки прошли на тестовом файле без ошибок.
  • Резервная копия создана и может быть восстановлена.
  • Изменения применены корректно ко всем ожидаемым строкам (ручная выборка или автоматическая проверка).

Мини‑методология: безопасная правка через ex

  1. Сделайте резервную копию: cp file file.bak
  2. Протестируйте команду в интерактивном режиме на небольшой части файла.
  3. Выполните пакетную операцию через скрипт: ex - file < script
  4. Проверьте результат: :%p или используйте стандартные утилиты (diff).

Простые тесты и критерии приёмки

Тест 1 — одиночная замена:

  • Вход: файл с уникальной строкой «FOO».
  • Команда: %s/FOO/BAR/g
  • Ожидается: «FOO» заменено на «BAR» ровно в одном месте.

Тест 2 — диапазонная печать:

  • Команда: :3,6
  • Ожидается: вывод строк 3–6 без ошибок.

Краткий словарь (одна строка каждый)

  • ex — строчный редактор текста, предок vi.
  • :p — команда печати текущей строки.
  • := — команда печати номера текущей строки.
  • :i — вставка строки.
  • :d — удаление строки.
  • %s/old/new/g — глобальная замена в файле.

Совместимость и миграция

ex присутствует на большинстве Unix-подобных систем. В средах, где доступен Vim, многие команды ex работают идентично в режиме команд vi. Если вы переносите сценарии из ex в sed или наоборот, проверьте различия в синтаксисе регулярных выражений и поведении по умолчанию.

Мастер‑шпаргалка (частые команды)

ex file           # открыть файл
ex - file < script # применить команды из script к file
:p                # распечатать текущую строку
:=                # распечатать номер текущей строки
:3,6              # распечатать строки с 3 по 6
:i some text      # вставить строку
:d                # удалить текущую строку
:m 10             # переместить текущую строку после строки 10
%s/old/new/g      # заменить old на new во всём файле
:visual           # перейти в полноэкранный редактор (vi/Vim)

Риски и рекомендации по их снижению

  • Риск: непреднамеренные массовые замены. Митигирование: сначала прогонять команды на копии файла.
  • Риск: потеря данных при некорректных командах. Митигирование: всегда иметь резервные копии.
  • Риск: различия в регулярных выражениях между инструментами. Митигирование: тестировать шаблоны в контролируемой среде.

Заключение

ex остаётся полезным инструментом для сценариев, где нужен компактный строчный редактор или когда доступен только минимальный набор утилит. Его команды тесно связаны с vi/Vim и sed, поэтому знание ex расширяет набор приёмов для работы с текстом в Unix-подобных системах.

Коротко: используйте ex для быстрых правок и автоматизации, а для интерактивной и масштабной работы переходите в Vim.

Женщина работает с редактором ex на ноутбуке

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро