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

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

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

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

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

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

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

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

Интервал:

Закладка:

Сделать

$ ls -l | grep '^d' Список имен вложенных каталогов

$ ls -l | grep '^.......rw'Список файлов, доступных всем для чтения и записи

Символ '^'и семь точек задают любые семь символов в начале строки; в случае применения к выходному потоку команды ls -lзадается любая строка права доступа.

Операция "повторитель" ( '*') применима в выражении к предваряющему ее символу или метасимволу (включая класс символов), и вместе они обозначают любое число вхождений символа или метасимвола. Например, x*задает последовательность букв xпроизвольной длины, [a-zA-Z]*— любую строку букв, .*— все до конца строки, а .*x— все до последнего символа xв строке включительно. Необходимо отметить несколько важных моментов, связанных с повторителем. Во-первых, повторитель действует только на один символ, поэтому xy*соответствует x, за которым идут yy..., но не последовательности типа xyxyxy. Во-вторых, любое число включает нуль, поэтому если вы хотите, чтобы символ присутствовал, в шаблоне его нужно повторить. Например, правильным выражением, задающим строку букв, является такое: [a-zA-Z][a-zA-Z]*(буква, за которой следует нуль или более букв). Регулярное выражение .*соответствует — *, т.е. метасимволу интерпретатора, используемому для имен файлов.

Ни одно регулярное выражение команды grepне соответствует символу перевода строки; выражения сопоставляются с каждой строкой в отдельности. Регулярные выражения делают команду grepпростым языком программирования. Вспомните, что второе поле файла паролей содержит зашифрованный пароль. Приведенная ниже команда проводит поиск пользователей, не имеющих пароля:

$ grep '^[^:]*::' /etc/passwd

Шаблон расшифровывается так: начало строки, любое число символов, отличных от двоеточия, два двоеточия.

Команда grep— старейшая в семействе программ, к которому относятся команды fgrepи egrep. В основном их действие одинаково, но fgrepможет одновременно искать несколько литеральных строк, тогда как egrepинтерпретирует настоящие регулярные выражения, подобно grep, но с использованием операций "or" и скобок для группировки выражений, что будет объяснено ниже.

Обе команды, fgrepи egrep, имеют флаг -fдля указания файла, из которого читается шаблон. В этом файле символы перевода строк разделяют шаблоны при параллельном поиске. Допустим, что некоторые слова вы пишете неправильно. В этом случае можно проверить документацию на наличие таких слов, поместив их в файл по одному на строке и воспользовавшись командой fgrep:

$ fgrep -f типичные_ошибки документ

Регулярные выражения, интерпретируемые egrep(они также приведены в табл. 4.1), — те же самые, что и в grep, но с небольшими добавлениями. Можно использовать скобки для группировки, поэтому (xy)*задает пустую строку или любую последовательность xy, xyxy, xyxyxyи т.д. Вертикальная черта |является операцией or (или); today|tomorrowсоответствует todayили tomorrow, как и to(day|morrow). Наконец, в команде egrepесть еще две операции повторения: +и ?. Шаблон x+задает один или более символов x, а шаблон x?— нуль или один символ x(но не более).

Команда egrepпрекрасно подходит для игр, в которых нужно искать в словаре слова со специальными свойствами. Мы будем обращаться к словарю Вебстера (второе международное издание), хранящемуся в файле в виде списка слов по одному в строке без определений их значения. В вашей системе может быть небольшой словарь /usr/dict/words, предназначенный для проверки правописания; просмотрите его, чтобы выяснить формат. Ниже приведен шаблон, задающий слова английского языка, содержащие все пять гласных в алфавитном порядке:

$ cat alphvowels

^[^aeiou]*a[^aeiou]*e[^aeiou]*i[^aeiou]*o[^aeiou]*u[^aeiou]*$

$ egrep -f alphvowels /usr/dict/web2 | 3

abstemious abstemiously abstentions

achelious acheirous acleistous

affectious annelidous arsenious

arterious bacterious caesious

facetious facetiously fracedinous

majestious

$

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

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

Интервал:

Закладка:

Сделать

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

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


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

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

x