<Попередній | зміст | Наступна>
Традиційні діапазони символів
Якби ми хотіли побудувати регулярний вираз, який би знаходив кожен файл у наших списках, що починався з великої літери, ми могли б зробити це:
[me@linuxbox ~]$ grep -h '^[ABCDEFGHIJKLMNOPQRSTUVWXZY]' dirlist*.txt
[me@linuxbox ~]$ grep -h '^[ABCDEFGHIJKLMNOPQRSTUVWXZY]' dirlist*.txt
Це лише питання помістити всі 26 великих літер у вираз у дужках. Але ідея всього цього введення дуже хвилює, тому є інший спосіб:
[me@linuxbox ~]$ grep -h '^[AZ]' dirlist*.txt
МАКЕДЕВ
Панель керування GET
ГОЛОВНИК X X11
Xorg MAKEFLOPPIES
Менеджер мережі Менеджер мережі Диспетчер
[me@linuxbox ~]$ grep -h '^[AZ]' dirlist*.txt
МАКЕДЕВ
Панель керування GET
ГОЛОВНИК X X11
Xorg MAKEFLOPPIES
Менеджер мережі Менеджер мережі Диспетчер
Використовуючи діапазон із трьох символів, ми можемо скоротити 26 літер. Будь-який діапазон характеру -
ters можна виразити таким чином, включаючи кілька діапазонів, наприклад цей вираз, який відповідає всім іменам файлів, які починаються з літер і цифр:
[me@linuxbox ~]$ grep -h '^[A-Za-z0-9]' dirlist*.txt
[me@linuxbox ~]$ grep -h '^[A-Za-z0-9]' dirlist*.txt
У діапазонах символів ми бачимо, що символ тире обробляється спеціально, тож як ми насправді включити символ тире до виразу в дужках? Зробивши його першим символом у виразі. Розглянемо ці два приклади:
[me@linuxbox ~]$ grep -h '[AZ]' dirlist*.txt
[me@linuxbox ~]$ grep -h '[AZ]' dirlist*.txt
Це відповідатиме кожному імені файлу, що містить велику літеру. поки:
[me@linuxbox ~]$ grep -h '[-AZ]' dirlist*.txt
[me@linuxbox ~]$ grep -h '[-AZ]' dirlist*.txt
відповідатиме кожному назві файлу, що містить тире або велику букву «A» або велику літеру «Z».
документація