Командная строка Linux. Полное руководство (Шоттс) - страница 20

Таблица 4.1. Групповые символы

Групповой символ

Соответствует

*

Любая последовательность любых символов

?

Любой один символ

[символы]

Любой один символ из указанного множества символов

[!символы]

Любой один символ, не принадлежащий указанному множеству символов

[[:класс:]]

Любой один символ, принадлежащий указанному классу


В табл. 4.2 представлены наиболее часто используемые классы символов.

Таблица 4.2. Наиболее часто используемые классы символов

Класс символов

Соответствует

[:alnum:]

Любой алфавитно-цифровой символ

[:alpha:]

Любой алфавитный символ

[:digit:]

Любой цифровой символ

[:lower:]

Любая буква в нижнем регистре

[:upper:]

Любая буква в верхнем регистре


диапазоны символов

Если у вас уже есть опыт работы с другим Unix-подобным окружением или вам приходилось читать другие книги по этой теме, вы встречали форму записи диапазонов символов [A-Z] или [a-z]. Это традиционные для Unix формы записи, и они прекрасно работают в старых версиях Linux. Более того, они все еще работают в новых версиях, но будьте очень осторожны при их использовании, потому что они не всегда дают ожидаемый результат без правильной настройки. А вообще, старайтесь избегать их и использовать классы символов.

Групповые символы позволяют конструировать сложные критерии выбора имен файлов. В табл. 4.3 перечислены некоторые примеры шаблонов и их соответствия.

Таблица 4.3. Примеры использования групповых символов

Шаблон

Соответствует

*

Все имена файлов

g*

Все имена файлов, начинающиеся с символа «g»

b*.txt

Все имена файлов, начинающиеся с символа «b», за которым следует любое число других символов, и заканчивающиеся на «.txt»

Data???

Все имена файлов, начинающиеся с символов «Data», за которыми следуют ровно три любых символа

[abc]*

Все имена файлов, начинающиеся с символа «a», «b» или «c»

BACKUP.[0-9][0-9][0-9]

Все имена файлов, начинающиеся с символов «BACKUP.», за которыми следуют ровно три цифровых символа

[[:upper:]]*

Все имена файлов, начинающиеся с буквы в верхнем регистре

[![:digit:]]*

Все имена файлов, не начинающиеся с цифры

*[[:lower:]123]

Все имена файлов, заканчивающиеся буквой в нижнем регистре или цифрой «1», «2» или «3»


Групповые символы можно использовать с любыми командами, принимающими имена файлов в виде аргументов, но подробнее об этом мы поговорим в главе 7.

групповые символы также действуют в графическом интерфейсе

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

• В Nautilus (диспетчер файлов для GNOME) можно выбирать файлы с помощью диалога Edit (Правка) —> Select Pattern (Выделить по шаблону). Просто введите шаблон для выбора файлов с групповыми символами, и в текущем каталоге будут выделены файлы, соответствующие шаблону.