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

Здесь есть возможность читать онлайн «Брайан Керниган - UNIX — универсальная среда программирования» — ознакомительный отрывок электронной книги совершенно бесплатно, а после прочтения отрывка купить полную версию. В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Москва, Год выпуска: 1992, ISBN: 1992, Издательство: Финансы и статистика, Жанр: ОС и Сети, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

UNIX — универсальная среда программирования: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «UNIX — универсальная среда программирования»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

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

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

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «UNIX — универсальная среда программирования», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

4.1 Семейство программ grep

В гл. 1 мы кратко упомянули о команде grep, а затем использовали ее в примерах. Конструкция

$ grep шаблон имена_файлов

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

$ grep -n variable *.[гл] Поиск variable в тексте на Си

$ grep From $MAIL Печать заголовков сообщений из почтовой

посылки

$ grep From $MAIL | grep -v mary Заголовки, которые получены не от

адресата mary

$ grep -y mary $HOME/lib/phone-bookПоиск номера mary

$ who | grep mary Выяснить, работает ли mary в системе

$ ls | grep -v temp Имена файлов, не содержащих temp

Флаг -nинициирует вывод номеров строк, флаг -vменяет на противоположное значение условия, а флаг -yдопускает сопоставление строчных букв из шаблона с прописными буквами из файла (но прописные буквы все-таки могут сопоставляться только с прописными).

Во всех рассматривавшихся до сих пор примерах проводился поиск обычных строк из букв и чисел. Но команда grepможет искать и более сложные шаблоны: она интерпретирует выражения согласно простому языку для описания строк. С технической точки зрения шаблон представляет в некоторой степени ограниченную форму спецификаций строк, называемую регулярным выражением. Команда интерпретирует такие же регулярные выражения, как и редактор ed. На самом деле, эта команда была создана (за один вечер) прямым редактированием ed.

Регулярные выражения характеризуются тем, что ряду символов, таким, как *и т.п., приписывается специальное значение, используемое интерпретатором. Есть еще несколько метасимволов, но, к сожалению, с различными значениями. В табл. 4.1 показаны все метасимволы регулярных выражений, и мы кратко их здесь рассмотрим.

с Любой неспециальный символ c соответствует самому себе
\c Указание убрать любое специальное значение символа c
^ Начало строки
$ Конец строки
. Любой одиночный символ
[...] Любой символ из ...;допустимы диапазоны типа a-z
[^...] Любой символ не из ...; допустимы диапазоны
\n Строка, соответствующая n-му выражению \(...\)(только для grep)
r* Нуль или более вхождений r
r+ Одно или более вхождений r(только для egrep)
r? Нуль или одно вхождение r(только для egrep)
r1r2 За r1следует r2
r1|r2 r1или r2(только для egrep)
\(r\) Помеченное регулярное выражение r(только для grep); может быть вложенным
(r) Регулярное выражение r(только дляgrep); может быть вложенным
Никакое регулярное выражение не соответствует концу строки

Таблица 4.1: Регулярные выражения grepи egrep(в порядке убывания приоритета)

Метасимволы ^и $привязывают шаблон к началу ( ^) или концу ( $) строки. Например,

$ grep From $MAIL

ищет строки, содержащие Fromв вашей почтовой посылке, но

$ grep '^From' $MAIL

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

Команда grepдопускает классы символов, подобные тем, что используются интерпретатором: так, [a-z]задает любую строчную букву. Но есть и различия — если класс символов команды grepначинается с символа слабого ударения то шаблон задает любой символ, кроме входящих в данный класс. Значит, [^0-9]задает любой символ, кроме цифры. Как и в интерпретаторе, обратная дробная черта экранирует символы ]и -в классе символов, но команды grepи edтребуют, чтобы эти символы использовались там, где их значение недвусмысленно. Например, шаблон [][-]задает открывающую или закрывающую квадратную скобку либо знак минус.

Точка '.'эквивалентна '?'в интерпретаторе: она задает любой символ. (Точка, по всей видимости, есть символ, назначение которого различно для разных программ.) Ниже приводятся два примера:

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «UNIX — универсальная среда программирования»

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


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

Обсуждение, отзывы о книге «UNIX — универсальная среда программирования» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x