Таблица 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 (Выделить по шаблону). Просто введите шаблон для выбора файлов с групповыми символами, и в текущем каталоге будут выделены файлы, соответствующие шаблону.