Искусство программирования на языке сценариев командной оболочки


Программирование на языке сценариев командной оболочки - стр. 224


The clarinet produces sound by the vibration of its reed.

Некоторые версии sed, ed и ex поддерживают экранированные версии регулярных выражений, описанных выше.

  • Классы символов POSIX.

    [:class:]

    Это альтернативный способ указания диапазона символов.

  • Класс [:alnum:] -- соответствует алфавитным символам и цифрам. Эквивалентно выражению [A-Za-z0-9].

  • Класс [:alpha:] -- соответствует символам алфавита. Эквивалентно выражению [A-Za-z].

  • Класс [:blank:] -- соответствует символу пробела или символу табуляции.

  • Класс [:cntrl:] -- соответствует управляющим символам (control characters).

  • Класс [:digit:] -- соответствует набору десятичных цифр. Эквивалентно выражению [0-9].

  • Класс [:graph:]

    (печатаемые и псевдографические символы) -- соответствует набору символов из диапазона ASCII 33 - 126. Это то же самое, что и класс [:print:], за исключением символа пробела.

  • Класс [:lower:] -- соответствует набору алфавитных символов в нижнем регистре. Эквивалентно выражению [a-z].

  • Класс [:print:]

    (печатаемые символы) -- соответствует набору символов из диапазона ASCII 32 - 126. По своему составу этот класс идентичен классу [:graph:], описанному выше, за исключением того, что в этом классе дополнительно присутствует символ пробела.

  • Класс [:space:] -- соответствует пробельным символам (пробел и горизонтальная табуляция).

  • Класс [:upper:] -- соответствует набору символов алфавита в верхнем регистре. Эквивалентно выражению [A-Z].

  • Класс [:xdigit:] -- соответствует набору шестнадцатиричных цифр. Эквивалентно выражению [0-9A-Fa-f].

    Вообще, символьные классы POSIX требуют заключения в кавычки или двойные квадратные скобки ([[ ]]).

    bash$ grep [[:digit:]] test.file

    abc=723

    Эти символьные классы могут использоваться, с некоторыми ограничениями, даже в операциях подстановки имен файлов (globbing).

    bash$ ls -l ?[[:digit:]][[:digit:]]?

    -rw-rw-r-- 1 bozo bozo 0 Aug 21 14:47 a33b

    Примеры использования символьных классов в сценариях вы найдете в Пример 12-14 и Пример 12-15.

    <


    - Начало -  - Назад -  - Вперед -