Онлайн-рабочие станции OnWorks Linux и Windows

Логотип

Бесплатный хостинг в Интернете для рабочих станций

<Предыдущая | Содержание: | Следующая>

Традиционные диапазоны символов

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



[я @ linuxbox ~] $ grep -h '^ [ABCDEFGHIJKLMNOPQRSTUVWXZY]' dirlist * .txt

[я @ linuxbox ~] $ grep -h '^ [ABCDEFGHIJKLMNOPQRSTUVWXZY]' dirlist * .txt


Просто нужно поместить все 26 заглавных букв в выражение в квадратных скобках. Но сама идея набора текста вызывает глубокое беспокойство, поэтому есть другой способ:



[я @ linuxbox ~] $ grep -h '^ [AZ]' dirlist * .txt

МАКЕДЕВ

ПОЛУЧИТЬ

ГОЛОВНОЙ СТОЛ X X11

Xorg

NetworkManager NetworkManagerДиспетчер

[я @ linuxbox ~] $ grep -h '^ [AZ]' dirlist * .txt

МАКЕДЕВ

ПОЛУЧИТЬ

ГОЛОВНОЙ СТОЛ X X11

Xorg

NetworkManager NetworkManagerДиспетчер


Используя диапазон из трех символов, мы можем сократить 26 букв. Любой диапазон символов -


Термины могут быть выражены таким образом, включая несколько диапазонов, например это выражение, которое соответствует всем именам файлов, начинающимся с букв и цифр:



[я @ linuxbox ~] $ grep -h '^ [A-Za-z0-9]' dirlist * .txt

[я @ linuxbox ~] $ grep -h '^ [A-Za-z0-9]' dirlist * .txt


В диапазонах символов мы видим, что символ тире обрабатывается особым образом, так как же нам на самом деле включить символ тире в выражение в скобках? Сделав его первым символом в выражении. Рассмотрим эти два примера:



[я @ linuxbox ~] $ grep -h '[AZ]' dirlist * .txt

[я @ linuxbox ~] $ grep -h '[AZ]' dirlist * .txt


Это будет соответствовать каждому имени файла, содержащему заглавную букву. В то время как:



[я @ linuxbox ~] $ grep -h '[-AZ]' dirlist * .txt

[я @ linuxbox ~] $ grep -h '[-AZ]' dirlist * .txt


будет соответствовать каждому имени файла, содержащему тире, прописную букву «A» или заглавную букву «Z».


Лучшие облачные вычисления для ОС в OnWorks: