Компьютерные сети и технологии
Привет
Пользователь:

Пароль:



[ ]
[ ]

В сети
Гостей: 7
Участников: 0
На странице: 1
Участников: 3878, Новичок: ritasovurova

Разное

(Занятие 6) Редактор текстов ed
Операционная система UNIX (руководство пользователя)
на Thursday 27 July 2006
от список авторов отправить по email статья печатать статья
в Сетевые Операционные Системы ОС > Linux - Unix


6. Редактор текстов ed
6.1. Введение


Редактор текстов ed является диалоговой (интерактивной) программой, которая позволяет добавлять, перемещать, удалять текст и извлекать его из других файлов. Имеется возможность замены слова или части слова в тексте как для одной указанной строки, так и для части файла или всего файла. Кроме того, можно просмотреть текстовый файл, напечатать его частично или целиком, напечатать строки, содержащие определенное слово и т.д.

ed работает с копией обрабатываемого файла, которая создается в буфере редактора и хранится там в течение всей обработки. Это предохраняет исходный файл от возможных разрушений при совершении грубых ошибок. Сделанные в копии изменения не влияют на исходный файл до тех пор, пока не будет выдана команда записи.

Редактор запоминает имя обрабатываемого файла (первоначально - имя исходного загруженного файла). По желанию пользователя это имя можно заменять для получения новых вариантов файла.

Если размер файла превышает размер буфера редактора, файл приходится делить на части с помощью команды split, редактировать его по частям, а затем снова объединять с помощью команды cat.

Пользователь сообщает редактору, что делать с его текстом, с помощью определенных инструкций, называемых "командами". Команды редактора имеют простую структуру, и в большинстве случаев состоят из одной буквы. Каждая команда печатается на отдельной строке. Иногда перед командой указывается информация о том, какая строка или строки должны подвергаться действию команды. ed не отвечает на большинство команд, не печатает подсказки или сообщения типа "готово".

Все вводимые командные строки должны заканчиваться символом CR.

6.2. Вызов редактора

Синтаксис команды:

    ed [файл]<CR>

где файл - имя файла.

Если файл с указанным именем существует, в ответ будет выдано число символов в файле. В противном случае редактор выдает строку "?file".

6.2.1. Дозапись текста

Если создан пустой файл и необходимо записать в него некоторый текст, следует установить режим дозаписи командой:

    a 

в ответ система переведет курсор на новую строку.

Для отмены режима дозаписи в первой позиции строки вводится команда "." (точка) , за которой следует символ "конец строки"
(<CR>).


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

6.3. Запись файла

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

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

    w[файл]<CR>

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

Если имя файла опущено, запись производится в текущий файл. В результате работы команды содержимое буфера будет скопировано в файл (предыдущая информация в файле будет уничтожена) и выдано сообщение о количестве символов в файле. Если в ответ на попытку записи появляется сообщение "?имя_файла", это означает, что запись в данный файл или справочник закрыта.

При записи файла создается копия текста - содержимое буфера не изменяется, так что можно продолжить работу. Рекомендуется время от времени записывать содержимое буфера, т.к. в случае сбоя системы или совершения какой-либо ошибки весь находящийся в буфере текст может быть потерян.

6.4. Выход из редактора

Данная команда используется для

завершения редактирования текста и выхода из редактора.

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

    q<CR>

Так как буфер редактора при выполнении команды "q" уничтожается, для сохранения результатов редактирования буфер должен быть предварительно скопирован командой записи "w".

Если после изменения информации не была выполнена команда записи, в ответ на первую команду "q" выдается подсказка "?" и никаких действий не производится. При повторном наборе команды осуществляется выход с уничтожением накопленной в буфере информации.

6.5. Чтение файла
6.5.1. Команда редактирования файла (e)


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

    e имя_файла<CR>

По данной команде файл с именем "имя_файла" копируется в буфер редактора. Предыдущее содержимое буфера при этом теряется.

Редактор сохраняет имя скопированного в буфер файла, благодаря чему после завершения редактирования файла нет необходимости задавать его имя в команде записи "w". Команда "w" произведет запись именно в этот файл.

Команда языка shell:

    ed имя_файла<CR>

эквивалентна командам

    ed<CR>

    e имя_файла<CR>

По завершению чтения файла выдается размер считанного файла (в байтах).

6.5.2. Команда чтения файла (r)

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

    [n]r имя_файла<CR>

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

Команда "r" читает содержимое файла в буфер редактора, причем содержимое файла добавляется к тому, что уже хранится в буфере.

Если "n" отсутствует, то читаемая информация дописывается после последней строки, хранящейся в буфере, в противном случае, считываемый файл помещается после строки с номером "n".

Если имя файла отсутствует в команде, то считывается файл, имя которого является текущим.

По завершению чтения редактор выдает размер считанного файла (в байтах).



Поиск Компьютерные сети и технологии

Copyright © 2006 - 2020
При использовании материалов сайта ссылка на xnets.ru обязательна!