|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Изменение указателя текущей строкиПри использовании команд поиска просмотр всегда начинается с текущей строки и продолжается в прямом или обратном направлении до тех пор, пока не будет обнаружена строка с искомым текстом. Например, если буфер содержит строки: . АБ.. БВ.и, если текущая строка - первая, то команда: /А/, /Б/pне распечатает строки, расположенные в промежутке от строки "АБ" до строки "БВ", так как при использовании запятой в качестве разделителя указателей строк, номер текущей строки не изменяется после обработки каждого адреса, каждый поиск начинается от текущей строки. В результате будет распечатана одна строка "АБ". При указании диапазона адресов вместо запятой используется точка с запятой. Символ ";" вызывает установку в то место, которое определяется при вычислении номеров строк. Фактически редактор "перемещает" указатель текущей строки. Команда: /А/; /Б/pраспечатывает строки в диапазоне от "АБ" до "БВ", т.к. после нахождения строки с "А" эта строка становится текущей и поиск "Б" начинается после этой строки. Прерывание работы редактора Если во время выполнения команды была нажата клавиша прерывания, будет восстановлено состояние, максимально приближающееся к тому, которое было перед началом выполнения команды. Естественно, некоторые изменения являются бесповоротными: если в этот момент читался или записывался файл, выполнялась подстановка или удаление строки, эти команды будут остановлены в некотором промежуточном (непредсказуемом) состоянии, указатель текущей строки изменится. Более определенно прерывается команда печати. Положение указателя текущей строки не изменяется до тех пор, пока печать не завершится. Таким образом, если запущена команда печати и она не напечатала нужную строку, при нажатии клавиши прерывания текущей строкой останется та строка, которая была в момент запуска команды "p". Глобальные команды Глобальные команды используются для поиска и редактирования тех строк в буфере редактора, которые содержат или наоборот не содержат заданный образец. Глобальная команда в строке должна быть первой, затем идет образец и команды редактора. Допускается написание нескольких команд редактора, но в этом случае каждая команда должна располагаться на отдельной строке, и каждая строка, за исключением последней, должна заканчиваться символом "\". Команда g Используется для выполнения одной или нескольких команд редактора над всеми строками, которые содержат заданный образец. Общий вид командной строки (строк) с использованием команды "g" следующий: g/образец/ команда или перечень команд<CR>Примеры. g/abdc/pпечать всех строк буфера, содержащих последовательность "abdc"; g/abcd/s//efjc/gpзамена и печать всех строк буфера, в которых найдена последовательность "abcd"; 1, $s/abcd/efjc/gpзамена во всех строках последовательности "abcd" на "efjc" и печать последней заменяемой строки; g/xxx/.-1s/abc/def/\.+2s/ghi/jkl/\.-2,.pзамена в строках до и после каждой строки, содержащей "xxx", и печать всех трех строк. Команда v Команда "v" аналогична команде "g" за исключением того, что она работает с теми строками, которые не содержат заданный образец. Общий вид командной строки (строк) при использовании команды "v": v/образец/ команда или перечень команд<CR>Пример. v/xxx/s/aaa/bbb/заменить во всех строках файла последовательность "aaa" на "bbb" кроме строк, в которых имеется последовательность "xxx". Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.002 сек.) |