MyBooks.club
Все категории

Брайан Керниган - UNIX — универсальная среда программирования

На сайте mybooks.club вы можете бесплатно читать книги онлайн без регистрации, включая Брайан Керниган - UNIX — универсальная среда программирования. Жанр: Программное обеспечение издательство -,. Доступна полная версия книги с кратким содержанием для предварительного ознакомления, аннотацией (предисловием), рецензиями от других читателей и их экспертным мнением.
Кроме того, на сайте mybooks.club вы найдете множество новинок, которые стоит прочитать.

Название:
UNIX — универсальная среда программирования
Издательство:
-
ISBN:
-
Год:
-
Дата добавления:
16 сентябрь 2019
Количество просмотров:
365
Читать онлайн
Брайан Керниган - UNIX — универсальная среда программирования

Брайан Керниган - UNIX — универсальная среда программирования краткое содержание

Брайан Керниган - UNIX — универсальная среда программирования - описание и краткое содержание, автор Брайан Керниган, читайте бесплатно онлайн на сайте электронной библиотеки mybooks.club
В книге американских авторов — разработчиков операционной системы UNIX — блестяще решена проблема автоматизации деятельности программиста, системной поддержки его творчества, выходящей за рамки языков программирования. Профессионалам открыт богатый "встроенный" арсенал системы UNIX. Многочисленными примерами иллюстрировано использование языка управления заданиями shell.Для программистов-пользователей операционной системы UNIX.

UNIX — универсальная среда программирования читать онлайн бесплатно

UNIX — универсальная среда программирования - читать книгу онлайн бесплатно, автор Брайан Керниган

Редактор запоминает образец, применявшийся вами в последний раз, так что можно повторить поиск просто с помощью //. Для поиска в обратном направлении воспользуйтесь ?pattern? и ??.

Поиск с помощью /.../ и ?...? циклический, т.е. продолжается в обратном направлении после достижения одного из концов текста:

$p     Печатать последнюю строку ('p' необязательна)

and greater still, and so on.

/flea/ Следующее flea вблизи начала

Great fleas have little fleas

??     От начала идет в обратном направлении

 have greater fleas to go on;

Результатом поиска по образцу типа /flea/ является номер строки, например 1 или $, который может использоваться в том же контексте, что и такие номера:

1,/flea/p Печатать от единицы до следующего flea ?flea?+1,$p Печатать от предыдущего flea + 1 до конца

Текущая редактируемая строка. Редактор ed отслеживает последнюю строку, с которой имели дело: печатали или вводили текст, читали из файла. Это текущая строка с именем '.'. Каждая команда определенным образом влияет на текущую строку, обычно настраивая ее на ту, с которой она последний раз работала. Вы можете использовать текущую строку так же, как $ или номер строки типа 1:

$ ed poem

263

.      Печатает текущую строку; после чтения файла

это то же, что $

 and greater still, and so on.

.-1,.p Печатает предыдущую строку и еще одну

While these again have greater still,

 and greater still, and so on.

Выражения для номера строки могут быть сокращены:

Сокращение Эквивалент Сокращение Эквивалент -1 .-1 + .+1 -- или -2 .-2 ++ или +2 .+2 -n .-n +n .+n $- $-1 .3 .+3 Добавление, замена, исключение, вставка

Команда а (добавить) добавляет строки после определенной строки, команда d (удалить) вычеркивает строки, команда i (вставить) вставляет строки перед определенной строкой, команда с (заменить) заменяет строки, действуя как комбинация команд "удалить" и "вставить".

na Добавить текст после строки n ni Вставить текст перед строкой n m,nd Удалить строки с m по n m,nc Заменить строки с m по n

Если номера строк не указаны, используется текущая строка. Новый текст для команд а, с и i оканчивается строкой '.'; точка, введенная в последней строке, оставляется. Текущая строка настраивается на следующую строку после последней удаленной, за исключением случая, когда удалена последняя строка, т.е. $.

0а Добавить текст в начало (то же, что 1i) dp Удалить текущую строку, печатать следующую (или последнюю, если $) .,$dp Удалить отсюда до конца, печатать новую последнюю 1,$d Удалить все ?pat?,.-1d Удалить от предыдущей, совпадающей с 'pat' до той, что перед текущей $dp Удалить последнюю строку, печатать новую последнюю $c Заменить последнюю строку ($а добавляет после последней строки) 1,$c Заменить все строки Подстановка, аннулирование

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

s/old/new/ Заменить первую old на new в текущей строке s/old/new/p Заменить первую old на new и печатать строку s/old/new/g Заменить каждую old на new в текущей строке s/old/new/gp Заменить каждую old на new и печатать строку

Заменяется только самое левое вхождение образца в строке, если не написана буква 'g'. Команда s выводит измененную строку только в том случае, когда она оканчивается буквой 'p'. Фактически большинство команд ed выполняет свою работу "молча", но почти любая команда может быть завершена буквой p для вывода результата.

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

u Аннулировать последнюю сделанную подстановку up Аннулировать последнюю подстановку и напечатать

Как вам уже известно, командам p и d могут предшествовать один или два номера, указывающие строки, на которые нужно воздействовать. Этот же принцип используется и для команды s.

/old/s/old/new/ Найти следующую old; заменить на new /old/s//new Найти следующую old; заменить на new (образец запоминается) 1 ,$s/old/new/p Заменить первую old на new в каждой строке; печатать последнюю измененную строку 1,$s/old/new/gp Заменить каждую old на new в каждой строке; печатать последнюю измененную строку

Отметим, что 1,$s вызывает команду для обработки каждой строки, но это означает лишь самое левое вхождение образца в каждой строке; нужна заключительная команда 'g', чтобы заместить все вхождения во всех строках. Кроме того, p выдает только последнюю измененную строку. Для вывода всех измененных строк необходима глобальная команда, которую мы вскоре рассмотрим.

Символ & означает сокращение; оказавшись где либо справа от команды s, он заменяется образцом из левой части:

s/big/very &/ Заменить big на very big s/big/& &/ Заменить big на big big s/.*/(&)/ Взять в скобки целую строку (см. .* ниже) s/and/&/ Заменить and на & ( отключает специальное значение символа) Метасимволы и регулярные выражения

Как и символы *, >, :, имеющие специальный смысл в shell, некоторые символы имеют специальный смысл для ed, если они появляются в образце для поиска или в левой части команды s. Эти символы называют метасимволами, а использующие их образцы регулярными выражениями. В табл. П.1.1 перечислены все символы и их значения. Примеры, приведенные ниже, следует читать в соответствии с таблицей. Специальный смысл любого символа может быть отменен предшествующей ему обратной дробной чертой ''.

с Любой специальный символ задает совпадение с таким же символом c Отменяет специальный смысл символа с А Соответствует началу строки, когда ^ начинает образец $ Соответствует концу строки, когда $ заканчивает образец . Совпадает с любым одиночным символом [...] Соответствует одному любому символу в ...; допустимы диапазоны типа a-z [^...] Соответствует любому одиночному символу, не входящему в ...; допустимы диапазоны r* Соответствует нулевому или более числу вхождений r, где r символ, или [...] & Используется только в правой части s; вставляет фрагмент, совпавший с образом (...) Помечает регулярное выражение; найденная строка доступна как 1, и т.д. в левой и правой частях выражения

Таблица П.1.1: Регулярные выражения редактора


Брайан Керниган читать все книги автора по порядку

Брайан Керниган - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки mybooks.club.


UNIX — универсальная среда программирования отзывы

Отзывы читателей о книге UNIX — универсальная среда программирования, автор: Брайан Керниган. Читайте комментарии и мнения людей о произведении.

Прокомментировать
Подтвердите что вы не робот:*
Подтвердите что вы не робот:*
Все материалы на сайте размещаются его пользователями.
Администратор сайта не несёт ответственности за действия пользователей сайта..
Вы можете направить вашу жалобу на почту librarybook.ru@gmail.com или заполнить форму обратной связи.