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

Пароль:



[ ]
[ ]

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

Разное

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


6.6. Печать текста
6.6.1. Команда печати (p)


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

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

    [n[, k]]p<CR>

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

Команде "p" может предшествовать один или два номера строки. Если номер не задан, то редактор печатает текущую строку.

Если задан номер только одной строки (с последующей буквой "p" или без нее), то печатается одна заданная строка (и она становится текущей).

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

Вы можете таким образом распечатать весь файл. Если вы не знаете номер последней строки, то поставьте символ $.

     Примеры.
1,2p - печать первых двух строк буфера;
1,$p - печать всех строк буфера; символ $  используется  для
     обозначения последней строки буфера;
$-1, $p - печать двух последних строк буфера; dfn  .-3,  -1p
     печать трех предыдущих строк.

В сущности, команде "p" могут предшествовать 0, 1 или 2 номеров строк. Если номера строк не указаны, печатается текущая строка. Однократное нажатие клавиши вызывает печать следующей строки: оно эквивалентно команде ".+1p". Команда "-" эквивалентна команде ".-1p".

6.6.2. Команда печати (l)

Команда "l" аналогична команде "p", но предоставляет больше информации. Ее главным свойством является то, что она печатает управляющие символы, такие как символы табуляции (tab) и возврата на позицию (backspace). Кроме того, команда "l" переносит строки при печати. Например, любая строка, длина которой превышает 72 символа, печатается на нескольких строках. Чтобы указать, что строка была перенесена и где она была перенесена, в конце каждой части переносимой строки вставляется обратная дробная черта (\).

Некоторые управляющие символы:

символ табуляции - печатается как ">";
код возврата на позицию - печается как "<";
код перехода на новый лист - печатается как "\14";
код вертикальной табуляции - печатается как "\13";
"звуковой сигнал" - печатается как "\07";
код "новая строка" - печатается как "\n".

6.7. Просмотр файла

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

Точка обозначает номер текущей строки. Ее можно использовать различными способами. В частности, можно ввести:

    ., $p 

это приведет к распечатке всех строк от текущей строки до конца буфера включительно.

Точка наиболее полезна при использовании в комбинациях следующего вида:

    .+1 (или, что то же самое .+1p)

это означает "напечатать следующую строку" и представляет собой удобный способ медленного просмотра буфера. Можно также ввести команду:

    .-1 (или .-1p)

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

Еще одной полезной командой является команда вида:

    .-3, .-1p 

которая распечатывает три предшествующие строки.

Необходимо помнить о том, что обе команды печати "p" и "l" изменяют номер текущей строки. Можно в любое время узнать ее значение, введя:

    .=

редактор ответит печатью значения номера текущей строки.

6.7.1. Команда печати (n)

Команда печати n распечатывает текст и предваряет каждую строку текста номером по порядку. Эту команду полезно использовать перед удалением, созданием или изменением строк.

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

    [n[, k]]n<CR>

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

Пример использования клманды "n":

Пример.

        1, $n<CR>

        1         This is the first line of test.
        2         This is the second line.
        3         This is the third line.
        4         This is the fourth line.
        5         five
        6         six
        7         seven
        8         eight
        9         nine
        10       ten 


6.8. Команда удаления строк (d)

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

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

    [n[, k]]d<CR>

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

Команде "d" может предшествовать один или два номера строки. Если номер не задан, то редактор удаляет текущую строку.

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

Если задано два номера строки, то удаляются все строки в указанном интервале от n до k включительно. Текущей строкой всегда становится строка, следующая за последней удаленной строкой, кроме случая, когда удаляется последняя строка буфера. В этом случае текущей станет последняя строка буфера.

Пример.

    4, $d 

удаление из буфера строк с 4-й по последнюю включительно. В буфере после выполнения команды останется 3 первых строки. Текущей строкой станет третья строка буфера.

6.9. Команда отмены редакции (u)

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

    u<CR>

Например, команда u полезна для восстановления текста, случайно вами удаленного. Если вы удалили все строки в файле и затем ввели команду "p", редактор ed ответит "?", что означает, что в файле нет ничего. Воспользуйтесь командой u для восстановления текста. Экран будет выглядеть следующим образом:

        1, $p<CR>

        This is the first line.
        This is the middle line.
        This is the last line.
        1, $d<CR>

        p<CR>

        ?
        u<CR>

        p<CR>

This is the last line.

Примечание. Команда u не может быть использована с командой w или q.



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

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