Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Операционная система UNIX.doc
Скачиваний:
94
Добавлен:
01.05.2014
Размер:
1.67 Mб
Скачать

6.11. Команда поиска контекста

Эта команда предназначена для поиска строки, содержащей заданный символ, группу символов или группу слов.

6.11.1. Конструкция /.../

Формат команды:

/текст/

где "текст" - искомый текст.

Редактор просматривает буфер, начиная со строки ".+1" (т.е. следующей за текущей), идет до конца буфера, затем продолжает поиск с первой строки буфера и до текущей строки включительно. При обнаружении строки с заданным текстом редактор распечатывает ее, и эта строка становится текущей.

В случае отсутствия в буфере искомого текста редактор возвращается к текущей строке и печатает символ "?".

Пример.

/lop/

найти в буфере строку, содержащую последовательность символов "lop".

Команда поиска в комбинации с другими командами ("a", "i", "s", "t", "m") может успешно использоваться для указания необходимой строки.

Примеры.

/lop/s//loop/p

найти строку, содержащую слово "lop", и заменить его на "loop", затем распечатать эту строку;

/текст/i

поиск строки, содержащей указанный текст, и вставка перед найденной строкой.

В команде "s" искомый текст в левой части можно не указывать.

6.11.2. Конструкция ?...?

Редактор производит поиск не только в прямом, но и в обратном направлении. Для этого в команде поиска вместо символа "/" используется символ "?":

?текст?

Это удобно в случае, если при редактировании текста необходимо вернуться назад.

6.11.3. Продолжение поиска

Если при поиске строки с искомым текстом оказалось, что это не та строка, то для продолжения поиска нужно задать команду в виде: // - продолжить поиск в прямом направлении; ?? - продолжить поиск в обратном направлении.

6.12. Команда вставки строк (I)

Данная команда используется для вставки в текст строк, вводимых с терминала.

Формат команды:

[n]i<CR>

где n - номер строки в буфере редактора, перед которой надо вставить новые строки.

Если "n" отсутствует, то строки вставляются перед текущей строкой.

Ввод новых строк с терминала завершается символом "." в первой позиции.

Текущей строкой после выполнения командыы "i" становится последняя вставленная строка.

Пример использования команды "i" для вставки 3-х строк перед 7-й строкой:

Пример.

7i<CR>

строка 1<CR>

строка 2<CR>

строка 3<CR>

.<CR>

6.13. Команда замены строк (c)

Команда используется для замены строки или группы строк в буфере редактора.

Формат команды:

[n[, k]]c<CR>

где n, k - номера начальной и конечной заменяемых строк.

По данной команде редактор удаляет строки с номерами от "n" до "k" включительно и заменяет их строками, вводимыми с терминала после команды "c".

Ввод новых строк завершается символом "." в первой позиции и <CR>.

Если в команде указан номер одной строки, заменяется одна строка.

Если номер строки не указан, то заменяется текущая строка.

Пример замены строк с ".+1" по последнюю.

Пример.

.+1 $c<CR>

... строки текста ...

.<CR>

Строки, которые вводятся между командами "c" и ".", займут место исходных строк между начальной строкой и конечной строкой. Это наиболее удобно при замене строки (или нескольких строк), содержащих ошибку.

Назад | Содержание | Вперед

Соседние файлы в предмете Операционные системы