Встроенные команды ТCL
glob
Команда возвращает имена файлов, удовлетворяющих шаблону.
Синтаксис
glob ?switches? pattern?pattern ...?
Описание
Команда glob выполняет поиск имен файлов подобно тому, как это делает оболочка csh, и возвращает список имен, удовлетворяющих шаблону pattern. Аргументы, начинающиеся со знака «-», являются управляющими ключами switches.
Возможные ключи:
-nocomplain
Позволяет вернуть пустой список без генерации ошибки. Если ключ не задан, то при пустом списке формируется ошибка.
--
Означает конец ключей. Аргумент после этого ключа считается шаблоном, даже если он начинается с «-».
Шаблоны могут включать следующие специальные символы:
• ? — Удовлетворяет любому символу;
• * — Удовлетворяет любой последовательности из нуля или больше символов;
• [chars] — Удовлетворяет любому символу из chars. Если chars включает последовательность символов типа «а-b», то удовлетворяет всем символам от «а» до «b» (включительно).
• \х — Удовлетворяет символу «х».
• {а,b,...} — Удовлетворяет любой из строк «а», «b» и т.д.
Как и в csh, символ «.» в начале имени файла или сразу после «/» должен соответствовать явно или с помощью конструкции «{}».
Если первый символ образца «~», то он указывает на домашний каталог пользователя, чье имя указано после «~». Если сразу после «~» идет «/», то используется значение переменной окружения НОМЕ.
Действие команды glob отличается от работы в csh в следующем:
• она не сортирует составленный ей список;
• она возвращает имена только существующих файлов (в csh проверку наличия файлов надо задавать отдельно, если только шаблон не содержит символов «?», «*» или «[]»).
В отличие от других Tcl-команд команда glob может работать с именами файлов только в нотации, поддерживаемой на той платформе, на которой она исполняется. Кроме того, на Windows-платформах специальные символы не допустимы в сетевых именах.