|
СИНТАКСИС |
|||||
ed [опции] [файл...] | |||||
ОПИСАНИЕ |
|||||
| Утилита ed производит редактирование текстовых
файлов в соответствии с командами редактирования,
задаваемыми пользователем в в командной строке. При вызове
ed содержимое файла копируется в буфер (рабочую копию),
и все редактирование происходит в буфере. Содержимое буфера
копируется в редактируемый файл только по команде w.
При введении в командной строке ошибочной команды ed печатает символ "?". Диагностику ошибки можно получить командой H. | |||||
ОПЦИИ |
|||||
| |||||
КОМАНДЫ РЕДАКТИРОВАНИЯ
Команды редактирования имеют формат:
[адрес1[,адрес2]] команда
Адрес определяет строки, к которым применяется команда или команды. Если заданы и первый, и второй адреса, то команда применяется к строкам от первого до второго адреса включительно. Если задан только первый адрес, то команда применяется к строкам, определяемым этим адресом. Если адреса не заданы, то команда применяется к текущей строке, если иное не оговорено в описании команды.
Адрес может задаваться:
При запуске ed текущей становится последняя строка текста. После выполнения любой команды текущей становится последняя строка, обработанная данной командой.
Изменить адрес текущей строки можно, введя одну из следующих команд:
| адрес | текущей становится команда, определяемая адресом |
|
[адрес]+[число] [адрес]-[число] |
текущей становится команда, расположенная со смещением число от заданного адреса; если адрес не задан, предполагается текущий адрес; если число не задано, предполагается 1. |
Если шаблон в адресе заключен в символы "/.../", поиск ведется от текущей строки вниз. Если шаблон в адресе заключен в символы "?...?", поиск ведется от текущей строки вверх. Если при поиске вниз достигнут конец текста, поиск продолжается с начала текста. Если при поиске вверх достигнуто начало текста, поиск продолжается с конца текста.
Если в адресных командах не указывается адрес, по умолчанию подразумевается . - текущая строка, если в описании команды не оговорено иное.
Далее в описании команд редактирования адресное выражение мы будем условно обозначать символом @.
Команды редактирования
| H | вывод диагностики сделанной ошибки. | ||||
| [@]p | вывод адресуемых строк на печать. | ||||
| [@]= | вывод номера адресуемой строки; требуется только один адрес; по умолчанию здесь предполагается адрес $. | ||||
| [@]a | переход в режим ввода текста, новый текст размещается после адресуемой строки. Команда требует только одного адреса в адресном выражении (по умолчанию - текущая строка). В режиме ввода вводимый текст добавляется в рабочую копию файла. Для выхода из режима ввода нужно ввести строку, состоящую из единственной точки. | ||||
| [@]i | то же, что и команда a, но новый текст размещается перед адресуемой строкой. | ||||
| [@]c | переход в режим ввода текста, новый текст заменяет блок адресуемых строк. | [@]r [файл] | чтение текста из файла и вставка его после адресуемой строки. Если файл не задан, подразумевается текущий редактируемый файл. По умолчанию предполагается адрес $. В этой команде допустим адрес 0, он означает вставку перед первой строкой. | ||
| [@]d | удаление адресуемых строк. | ||||
| [@]mадрес | перемещение блока адресуемых строк по адресу адрес, который не должен попадать в диапазон адресуемых строк. | ||||
| [@]tадрес | копирование блока адресуемых строк по адресу адрес, который не должен попадать в диапазон адресуемых строк. | ||||
| [адрес]s/шаблон/текст[флаги] | замена в адресуемых строках заданного шаблона заданным текстом.
Шаблон задается регулярным выражением. В тексте может использоваться метасимвол "&" для обозначения заменяемого текста. Возможные флаги команды s:
|
||||
| [@]w [файл] | вывод адресуемых строк из буфера в файл. Если файл не задан, подразумевается текущий редактируемый файл. По умолчанию предполагается адрес 1,$, то есть все строки. | ||||
| e [файл] | команда уничтожает содержимое буфера и читает в буфер заданный файл (по умолчанию - текущий редактируемый файл). Имя текущего редактируемого файла при этом не изменяется. | ||||
| q | выход из редактора ed. |
СМ.ТАКЖЕ |
|
| sed, vi. |