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

6.14.6.4. Прерывание работы редактора

Если во время выполнения команды была нажата клавиша прерывания, будет восстановлено состояние, максимально приближающееся к тому, которое было перед началом выполнения команды. Естественно, некоторые изменения являются бесповоротными: если в этот момент читался или записывался файл, выполнялась подстановка или удаление строки, эти команды будут остановлены в некотором промежуточном (непредсказуемом) состоянии, указатель текущей строки изменится.

Более определенно прерывается команда печати. Положение указателя текущей строки не изменяется до тех пор, пока печать не завершится. Таким образом, если запущена команда печати и она не напечатала нужную строку, при нажатии клавиши прерывания текущей строкой останется та строка, которая была в момент запуска команды "p".

6.14.7. Глобальные команды

Глобальные команды используются для поиска и редактирования тех строк в буфере редактора, которые содержат или наоборот не содержат заданный образец.

Глобальная команда в строке должна быть первой, затем идет образец и команды редактора. Допускается написание нескольких команд редактора, но в этом случае каждая команда должна располагаться на отдельной строке, и каждая строка, за исключением последней, должна заканчиваться символом "\".

6.14.7.1. Команда 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", и печать всех трех строк.

6.14.7.2. Команда V

Команда "v" аналогична команде "g" за исключением того, что она работает с теми строками, которые не содержат заданный образец.

Общий вид командной строки (строк) при использовании команды "v":

v/образец/ команда или перечень команд<CR>

Пример.

v/xxx/s/aaa/bbb/

Заменить во всех строках файла последовательность "aaa" на "bbb" кроме строк, в которых имеется последовательность "XXX".6.15. Работа с файлами

6.15.1. Команда указания имени файла (f)

Данная команда предназначена для запроса или изменения сохраняемого редактором имени файла (текущего имени).

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

f [файл]<CR>

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

Это имя запоминается редактором при вызове по команде shell:

ed file

или по команде редактора:

e file

Например, в результате выполнения команды:

f file1

имя файла, хранимое редактором, будет заменено на новое имя "file1", и оно станет текущим.

Команда записи "w" без аргументов копирует буфер редактора в файл с текущим именем.

Пример создания двух вариантов файла "file1":

ed file1

f file2

...

w

w file3

q

6.15.2. Объединение файлов

Предположим, что в файле "file1" сразу же после слов "текст..." требуется вставить "file2".

Для этого необходимо вызвать редактор для фала "file1", найти символы "текст..." и добавить в это место файл "file2":

ed file1

/текст.../

текст... (ответ редактора)

.r file2

Команда "r" без адресов добавляет читаемые строки в конец, т.е. работает аналогично "$r".

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