Стефан Кочан , Патрик Вуд - Программирование командных оболочек в Unix, Linux и OS X
4-е изданиеНазвание: | Программирование командных оболочек в Unix, Linux и OS X | |
Автор: | Стефан Кочан , Патрик Вуд | |
Жанр: | Базы данных | |
Изадано в серии: | неизвестно | |
Издательство: | неизвестно | |
Год издания: | - | |
ISBN: | неизвестно | |
Отзывы: | Комментировать | |
Рейтинг: | ||
Поделись книгой с друзьями! Помощь сайту: донат на оплату сервера |
Краткое содержание книги "Программирование командных оболочек в Unix, Linux и OS X"
Это полностью обновленное издание классического пособия по программированию командных оболочек в системах Unix. Следуя методике изложения материала, принятой в первоначальном издании, авторы книги уделили основное внимание стандартной оболочке POSIX, поясняя особенности разработки полезных программ в этой удобной среде, чтобы извлечь максимальную пользу из потенциала, заложенного в основу Unix и подобных ей операционных систем.
После краткого обзора команд Unix в книге подробно рассматривается поэтапный процесс создания программ или сценариев оболочки, их отладки и особенностей их работы в среде оболочки. Все основные средства оболочки поясняются на многих практических примерах, что упрощает написание сценариев оболочки для конкретного применения. В книге описываются также основные средства оболочек Korn и Bash.
Читаем онлайн "Программирование командных оболочек в Unix, Linux и OS X". [Страница - 3]
- 1
- 2
- 3
- 4
- 5
- . . .
- последняя (82) »
ты, тем проще вам будет писать эффективные сценари и оболоч ки.
Р егул я р н ые в ы р а же н ия
Прежде чем рассматри вать инструменты для программирован ия на языке
оболоч ки, необходимо разъясн ить понятие регулярных вь1ражений. Регулярные
выражения применяются в самых разных командах системы Uпix, включая ed,
sed, awk, g rep, и в меньше степен и в редакторе vi. Они предоставляют удобный
и согласованный способ указания шаблонов для сопоставления.
Как ни стран но, но оболочка распознает ограниченную форму регулярных вы
ражен ий в подстановке имен файлов. Напомним, что знак звездочки ( * ) обозна
чает совпадение с нулевым или большим количеством символов, знак вопроса
( ? ) - с любым оди ночным символом, а конструкция [ . . . ]
с любыми сим
волами в квадратн ых скобках. Но подобные формы все же отличаются от более
формальных регулярных выражен ий, рассматриваемых в этой главе. Например,
оболоч ка интерпретирует знак ? как совпадение с любым оди ночным символом,
тогда как в регулярном выражении для этой цели служит знак точ ки ( . ).
Настоя щие регулярные выражен ия оказываются нам ного более сложными,
чем те их формы, которые распознаются оболочкой, и поэтому вопросам состав
ления по- настоя щему сложных регулярных выражен ий посвящены целые книги.
Впрочем, чтобы оценить исти н н ы й потенциал регулярных выражен ий, совсем не
обязано быть их знатоком !
В этом разделе предполагается, что вы знакомы с такими строковыми редакто
рами. как ех или ed. Более подробн ые сведения об этих редакторах можно найти,
обрати вш ись за справкой к соответствующей оперативной странице руководства
man по системе U11ix.
-
Совпадение с л юбы м одиноч н ы м си м вол ом : зна к точки ( . )
Знак точ ки ( . ) обозначает в регулярном выражении совпадение с любым оди
ночным сим волом, каким бы о н ни был. Таким образом, регулярное выражение
r.
означает совпадение с буквой r и л юбым последующим символом.
Гл а в а 3. Рабочие и нструменты
74
А
.
х
регулярное выражение
.
означает совпаден ие с буквой х, окруженной двумя любыми и необязательно оди
наковыми символами .
Немало регулярных выражений можно продемонстрировать, используя ed простой традицион ный строковый редактор, появивш ийся вместе с сисtемой
Linux. Например, следующая команда редактора ed:
/ . . . /
осуществляет прямой поиск в редактируемом файле первой строки, содержащей
любые три символа, окружен ные пробелами. Но прежде чем продемонстрировать
применение данного выражения на конкретном примере, следует заметить, что
сначала редактор ed отображает количество символов в файле ( 2 4 8 ) и что такие
команды, как р (т.е. печатать) , предваряются спецификатором диапазона, наибо
лее характерным примером которого служит последовательность символов 1 , $ ,
обозначающая пределы о т первой д о последней строки в файле:
$ ed intro
248
Вывести в се строки
1 , $р
The U n i x ope ra t i ng s y s t em wa s p i on e e r ed Ьу Ke n
Thomp s o n and Den n i s Ri t c h i e a t Be l l Labo r a t o r i e s
i n t h e l a t e 1 9 6 0 s . One o f t h e p r ima r y goa l s i n
the de s i gn o f t h e Un i x s y s tem wa s t o c r e a t e a n
e n v i r o nme n t t h a t p romo t e d e f f i c i e n t p ro g r am
deve l opme n t .
Выше выведено содержи мое нашего рабочего файла.
торые регулярные выражения в следующем примере:
А
теперь опробуем неко
На й ти три симв ола , окруженные про бела ми
/ . . . /
The U n i x ope r a t i n g s y s t em wa s p i on e e r e d Ьу Ke n
Пов торит ь по следний поиск
/
Thomp s o n and Denn i s R i t c h i e at Be l l Labo r a t o r i e s
З аменить в се комбина ц ии симв олов р . о на ХХХ
1 , $ s /p . o/XXX/ g
Посмотреть , что из э того вышл о
1 , $р
The U n i x ope r a t i n g s y s t em wa s XXXn e e r e d Ьу Ke n
T homXXXn and De n n i s R i t c h i e a t Be l l Labo r a t o r i e s
i n t h e l a t e 1 9 6 0 s . One o f t h e p r ima r y goa l s i n
t h e de s i gn o f t h e Un i x s ys tem wa s to c r e a t e a n
e n v i r o nme n t t h a t XXXmo t e d e f f i c i e n t XXX g r am
deve l opme n t .
При первом поиске редактор ed начинает действовать с самого начала фай
ла, обнаруживая в первой же строке последовательность символов " wa s " , со
впадающую с указанным шаблоном, а затем выводя ее. При повторении поиска
Регуля рные выраже н и я
75
(по команде / редактора ed) из файла выводится вторая строка, поскольку в ней
с указан ным шаблоном совпадает последовательность символов " and " .
В следующей далее команде подстановки s указывается, что все вхождения
символа р, после которого следует любой одиноч н ы й символ и далее символ о --">
- 1
- 2
- 3
- 4
- 5
- . . .
- последняя (82) »
Книги схожие с «Программирование командных оболочек в Unix, Linux и OS X» по жанру, серии, автору или названию:
Чаз Эмерик, Брайен Карпер, Кристоф Гранд - Программирование на Clojure: Практика применения Lisp в мире Java Жанр: Базы данных Год издания: 2013 |
Бьерн Страуструп - Программирование. Принципы и практика использования C++ Исправленное издание Жанр: Базы данных |
Виктор Николаевич Шакин, Анна Викторовна Загвоздкина, Георгий Константинович Сосновиков - Объектно-ориентированное программирование на Visual Basic в среде Visual Studio .NET Жанр: Базы данных Серия: Среднее профессиональное образование |