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

ed: Редактор текста, ориентированный на строки

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

Обзор

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

Основные характеристики

  • Строково-ориентированное редактирование: работа построчно
  • Дружелюбен к скриптам: подходит для неинтерактивного использования
  • Очень легкий: использует минимальные ресурсы
  • Стандарт POSIX: предустановлен в большинстве систем Unix/Linux

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

ed имеет немного опций командной строки, большинство функций выполняется внутренними командами редактора.

Управление поведением

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

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

Описание:

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

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

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

ed можно использовать интерактивно или через перенаправление ввода в скриптах.

Создание нового файла и добавление текста

ed newfile.txt
a
Hello, ed!
This is a test line.
.
w
q

Открывает новый файл, добавляет текст, затем сохраняет и выходит.

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

ed existing_file.txt
1,$p
q

Открывает существующий файл, выводит все строки, затем выходит.

Замена определенного текста (неинтерактивно)

echo '1,$s/old_text/new_text/g
w
q' | ed -s my_document.txt

Заменяет весь 'old_text' на 'new_text' в файле и сохраняет. Опция -s подавляет вывод.

Добавление содержимого в конец файла (неинтерактивно)

echo '$a
New line added at the end.
.
w
q' | ed -s my_document.txt

Добавляет новую строку в конец файла и сохраняет.

Советы и предостережения

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

Ключевые концепции использования ed

  • **Режим команд и режим ввода**: ed по умолчанию находится в режиме команд, и вы переходите в режим ввода с помощью команд `a` (append), `i` (insert), `c` (change). В режиме ввода ввод `.` (точки) в отдельной строке возвращает вас в режим команд.
  • **Указание адресов**: Команды могут применяться к определенным строкам (например, `1` — первая строка, `$` — последняя строка, `.` — текущая строка) или диапазонам строк (например, `1,$` — весь файл).
  • **Сохранение и выход**: Команда `w` сохраняет изменения, а команда `q` завершает работу редактора. Комбинации типа `wq` не поддерживаются. `Q` принудительно завершает работу без сохранения изменений.
  • **Проверка текущей строки**: Ввод команды `.` выводит содержимое текущей строки, а команда `=` выводит номер текущей строки.
  • **Использование регулярных выражений**: Вместе с командой `s` (substitute) вы можете использовать мощные регулярные выражения для поиска и замены текста.

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