Unix Man (Справочное руководство)


ED(1) - часть 3


  • Символ . обозначает текущую строку.
  • Символ $ обозначает последнюю строку буфера.
  • Десятичное число n обозначает n-ую строку буфера.
  • Пара символов 'x адресует строку, помеченную маркером x. Маркер - это малая буква, ставится с помощью команды k (см. ниже).
  • РВ, заключенное между символами /, адресует первую из строк, успешно сопоставленных с РВ при движении вперед. Процесс сопоставления начинается со строки, следующей за текущей. Если до конца буфера подходящей строки не нашлось, сопоставление продолжается с начала буфера до текущей строки включительно, то есть просматривается весь буфер.
  • Конструкция ?РВ? аналогична предыдущей, только просмотр выполняется в обратном направлении, начиная со строки, расположенной перед текущей.
  • Если за адресом следует знак + или -, и далее стоит десятичное число, то адрес увеличивается (или уменьшается) на указанное число строк. Знак + можно опускать.
  • Если адрес начинается с + или -, то смещение производится относительно текущей строки; так, адрес -5 эквивалентен .-5.
  • Если адрес оканчивается на + или -, то к адресу прибавляется (из него вычитается) 1. Согласно этому и предыдущему правилу адрес из одного символа - соответствует строке, расположенной перед текущей. (В более ранних версиях редактора ту же роль играл символ ^). Более того, последовательности знаков + или - в конце адреса обладают эффектом накопления. Так, -- соответствует адресу текущей строки, уменьшенному на 2.
  • Запятая обозначает пару адресов 1,$, а точка с запятой - пару адресов .,$.
  • Команды могут требовать ноль, один или два адреса. Адреса указываются перед командами. Задание адресов для команды, их не требующей, считается ошибкой. Если задано меньше адресов, чем нужно, используются подразумеваемые значения. Если адресов больше, чем нужно, используются последние.

    Обычно адреса отделяются друг от друга запятой. Адреса могут разделяться и точкой с запятой. В этом случае текущая строка (.) становится первым адресом, и только тогда вычисляется второй, что можно использовать при поиске вперед и назад (см. выше правила 5 и 6). Второй адрес всегда должен быть больше первого (в соответствии с нумерацией строк буфера).

    В следующем ниже списке команд редактора ed в скобках указаны подразумеваемые адреса. Разумеется, сами скобки не являются частью адреса.

    Обычно недопустимо появление более одной команды в строке. Однако некоторые команды (такие как e, f, r или w) могут употребляться с суффиксами l, n или p. В этом случае текущая строка распечатывается или нумеруется. Далее эти команды будут обсуждены.




    Начало  Назад  Вперед