-->

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

На нашем литературном портале можно бесплатно читать книгу UNIX — универсальная среда программирования, Керниган Брайан Уилсон-- . Жанр: ОС и Сети / Интернет. Онлайн библиотека дает возможность прочитать весь текст и даже без регистрации и СМС подтверждения на нашем литературном портале bazaknig.info.
UNIX — универсальная среда программирования
Название: UNIX — универсальная среда программирования
Дата добавления: 16 январь 2020
Количество просмотров: 434
Читать онлайн

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

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

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

shell.

 

Для программистов-пользователей операционной системы UNIX.

Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала

Перейти на страницу:
Подстановка, аннулирование

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

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
, и т.д. в левой и правой частях выражения
Перейти на страницу:
Комментариев (0)
название