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

СИНТАКСИС
 
ed [опции] [файл...]

ОПИСАНИЕ
  Утилита ed производит редактирование текстовых файлов в соответствии с командами редактирования, задаваемыми пользователем в в командной строке. При вызове ed содержимое файла копируется в буфер (рабочую копию), и все редактирование происходит в буфере. Содержимое буфера копируется в редактируемый файл только по команде w.

При введении в командной строке ошибочной команды ed печатает символ "?". Диагностику ошибки можно получить командой H.


ОПЦИИ
 
-s подавление печати количества символов при выполнении команд e, r и w, выдачу диагностики команд e и q.
-p приглашение установка собственного текста приглашения.

КОМАНДЫ РЕДАКТИРОВАНИЯ

Команды редактирования имеют формат:

    [адрес1[,адрес2]] команда

Адрес определяет строки, к которым применяется команда или команды. Если заданы и первый, и второй адреса, то команда применяется к строкам от первого до второго адреса включительно. Если задан только первый адрес, то команда применяется к строкам, определяемым этим адресом. Если адреса не заданы, то команда применяется к текущей строке, если иное не оговорено в описании команды.

Адрес может задаваться:

При запуске ed текущей становится последняя строка текста. После выполнения любой команды текущей становится последняя строка, обработанная данной командой.

Изменить адрес текущей строки можно, введя одну из следующих команд:
     адрес  текущей становится команда, определяемая адресом
     [адрес]+[число]
     [адрес]-[число
текущей становится команда, расположенная со смещением число от заданного адреса; если адрес не задан, предполагается текущий адрес; если число не задано, предполагается 1.

Если шаблон в адресе заключен в символы "/.../", поиск ведется от текущей строки вниз. Если шаблон в адресе заключен в символы "?...?", поиск ведется от текущей строки вверх. Если при поиске вниз достигнут конец текста, поиск продолжается с начала текста. Если при поиске вверх достигнуто начало текста, поиск продолжается с конца текста.

Если в адресных командах не указывается адрес, по умолчанию подразумевается . - текущая строка, если в описании команды не оговорено иное.

Далее в описании команд редактирования адресное выражение мы будем условно обозначать символом @.

Команды редактирования
H вывод диагностики сделанной ошибки.
[@]p вывод адресуемых строк на печать.
[@]= вывод номера адресуемой строки; требуется только один адрес; по умолчанию здесь предполагается адрес $.
[@]a переход в режим ввода текста, новый текст размещается после адресуемой строки. Команда требует только одного адреса в адресном выражении (по умолчанию - текущая строка). В режиме ввода вводимый текст добавляется в рабочую копию файла. Для выхода из режима ввода нужно ввести строку, состоящую из единственной точки.
[@]i то же, что и команда a, но новый текст размещается перед адресуемой строкой.
[@]c переход в режим ввода текста, новый текст заменяет блок адресуемых строк.
[@]r [файл] чтение текста из файла и вставка его после адресуемой строки. Если файл не задан, подразумевается текущий редактируемый файл. По умолчанию предполагается адрес $. В этой команде допустим адрес 0, он означает вставку перед первой строкой.
[@]d удаление адресуемых строк.
[@]mадрес перемещение блока адресуемых строк по адресу адрес, который не должен попадать в диапазон адресуемых строк.
[@]tадрес копирование блока адресуемых строк по адресу адрес, который не должен попадать в диапазон адресуемых строк.
[адрес]s/шаблон/текст[флаги] замена в адресуемых строках заданного шаблона заданным текстом.
Шаблон задается регулярным выражением.
В тексте может использоваться метасимвол "&" для обозначения заменяемого текста.
Возможные флаги команды s:
    число замена задаваемого числом вхождения шаблона (по умолчанию заменяется только первое вхождение);
    g замена всех вхождений шаблона в строку.
[@]w [файл] вывод адресуемых строк из буфера в файл. Если файл не задан, подразумевается текущий редактируемый файл. По умолчанию предполагается адрес 1,$, то есть все строки.
e [файл] команда уничтожает содержимое буфера и читает в буфер заданный файл (по умолчанию - текущий редактируемый файл). Имя текущего редактируемого файла при этом не изменяется.
q выход из редактора ed.

СМ.ТАКЖЕ
  sed, vi.


Список команд