Главная > Обработка текста и поиск > ex

ex: Редактор текста построчного типа

ex — это построчный режим редактора Vi IMproved (Vim), который в основном используется для скриптов или автоматизированной обработки текста. Он предоставляет мощные функции для редактирования определенных строк файла или пакетного изменения нескольких файлов, и более подходит для неинтерактивного скриптинга, чем для интерактивного использования.

Обзор

ex — это командный режим редактора Vi, работающий построчно. Он очень полезен для обработки содержимого файла построчно или для выполнения сложных текстовых преобразований с использованием регулярных выражений. В частности, он является мощным инструментом для автоматического изменения файлов в скриптах оболочки.

Основные возможности

  • Построчное редактирование текста
  • Оптимизирован для скриптов и автоматизированных задач
  • Мощная поддержка регулярных выражений
  • Использует тот же набор команд, что и Vi/Vim
  • Поддержка неинтерактивного режима

Основные опции

ex в основном выполняет команды непосредственно в файле, но предоставляет несколько опций командной строки для управления определенным поведением при запуске.

Опции запуска и режима

Сгенерированная команда:

Комбинируйте команды.

Описание:

`ex` Запускает команду.

Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.

Примеры использования

ex в основном используется для выполнения определенных задач в скриптах или для переключения в режим `:ex` внутри редактора vi.

Открытие файла и вывод содержимого

ex -s file.txt <<EOF
%p
q!
EOF

Открывает файл в режиме ex, выводит все строки и затем завершает работу.

Замена и сохранение строки в файле

ex -s -c '%s/old_string/new_string/g | wq' file.txt

Заменяет все вхождения 'old_string' на 'new_string' в файле file.txt, затем сохраняет и завершает работу.

Пакетная замена строк в нескольких файлах

for f in *.txt; do ex -s -c '%s/error/warning/g | wq' "$f"; done

Заменяет 'error' на 'warning' во всех файлах .txt в текущем каталоге.

Удаление определенной строки

ex -s -c '5d | wq' file.txt

Удаляет 5-ю строку из файла file.txt и сохраняет изменения.

Советы и рекомендации

ex больше подходит для скриптов и автоматизированных задач, чем для интерактивного использования, и знание нескольких советов может быть полезно для эффективной обработки текста.

Основные советы

  • В неинтерактивных скриптах всегда используйте опцию `-s` (silent), чтобы подавить ненужные сообщения.
  • Команды идентичны командам режима команд `vi`. Вы можете сохранить и выйти с помощью `:wq` или выйти без сохранения с помощью `:q!`.
  • Регулярные выражения могут использоваться так же мощно, как и в `sed`. `%s/pattern/replacement/g` используется для замены шаблона во всем файле.
  • ex входит в состав пакетов `vi` или `vim`, которые обычно предустановлены в большинстве систем Linux.
  • Вы можете объединять несколько команд ex в одной строке, используя конвейер (`|`).

Те же команды в категории