|
СИНТАКСИС |
|||||
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. |