3.4.5. Шаблоны имен файлов

3.4.5. Шаблоны имен файлов

Этот механизм позволяет не перечислять похоже выглядящие имена файлов и каталогов, а указать на целую группу имен, задав краткий образец. Перед отправкой команды на выполнение оболочка раскрывает шаблон, то есть заменяет образец всеми именами, подходящими под этот образец, и выполняет команду для каждого файла или каталога из этой группы. Шаблоны указываются с помощью специальных символов, перечисленных в таблице 3.3. Символы шаблона можно комбинировать в одной команде.

Символы шаблонов Таблица 3.3

Символ Значение Пример
* Произвольная строка символов, в том числе пустая ~/*.png — все файлы в домашнем каталоге с расширением png; Glava* — файлы Glava, Glava03 и Glava.old
? Любой одиночный символ Glava?? — файлы Glava03 и GlavaXZ, но не Glava и не Glava.old
[m,M,x] Любой символ ив перечисленных в скобках Glava0[3,8] — файлы Glava03 и Glava08, Glava?[3,8] — файлы Glava03, Glava08, Glava13, Glava18, Glava23
[a-nA-N] Любой символ ив указанных интервалов Glava0[2-4,9] — Glava02, Glava03, Glava04, Glava09
[^a-n,x,y] Любой символ, на указанный в скобках Glava[^0]* — все главы, начиная с 11

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

$ touch * # создаст файл с именем "*". Только не

           # удаляйте его потом командой rm * !

$ rm Glava0[3,8] # удалит файл с именем Glava0[3,8],

                    # а не Glava03 и Glava08.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

5.7.7 Раскрытие шаблонов имен файлов и каталогов (Pathname Expansion)

Из книги Как функции, не являющиеся методами, улучшают инкапсуляцию автора Мейерс Скотт

5.7.7 Раскрытие шаблонов имен файлов и каталогов (Pathname Expansion) Подстановки имен путей и файлов (Pathname expansion) используются для того, чтобы с помощью краткого образца или шаблона указать несколько имен файлов (или каталогов), соответствующих данному шаблону. После разделения


Шаблоны и функции фабрики в контексте пространства имен

Из книги Компьютер + мобильник: эффективное взаимодействие автора Гольцман Виктор Иосифович

Шаблоны и функции фабрики в контексте пространства имен (Врезка)В основной статье, я утверждаю, что статические методы классов должны быть реализованы как внешние функции всякий раз, когда это возможно, потому что это увеличивает инкапсуляцию класса. Здесь я


Шаблоны

Из книги Самоучитель работы на компьютере автора Колисниченко Денис Николаевич

Шаблоны Шаблон – это своего рода набросок, который можно изменить под конкретные нужды. Очень часто вам придется писать однотипные сообщения вроде «Привет. Как дела?» или «Я сегодня занят. Когда освобожусь – перезвоню!». Вы можете облегчить себе жизнь, записав подобные


13.2.2. Шаблоны

Из книги Сетевые средства Linux автора Смит Родерик В.

13.2.2. Шаблоны Вы хотите создать стандартный документ, например резюме, служебную записку, отчет? Тогда вам пригодятся стандартные шаблоны MS Word. Выполните команду Файл, Создать. В правой части окна Word появится окошко Создание документа, в котором можно выбрать один из


Поддержка имен файлов Windows

Из книги Разработка приложений в среде Linux. Второе издание автора Джонсон Майкл К.

Поддержка имен файлов Windows В системах Linux и Windows действуют разные соглашения по именованию файлов. Если в вашей сети, кроме Windows, присутствуют также клиенты DOS, то при настройке Samba следует учесть, что правила именования DOS-файлов отличаются от правил, принятых не только в


22.3.2. Разбор имен файлов

Из книги C++. Сборник рецептов автора Диггинс Кристофер

22.3.2. Разбор имен файлов Абсолютно обычным действием для привилегированных приложений является предоставление доступа к файлам ненадежным пользователям и разрешение этим пользователям передавать имена файлов, к которым необходим доступ. Хорошим примером служит


2.4. Предотвращение конфликта имен с помощью пространств имен

Из книги Искусство программирования на языке сценариев командной оболочки автора Купер Мендель

2.4. Предотвращение конфликта имен с помощью пространств имен ПроблемаВ несвязанных между собой модулях обнаружены конфликтующие имена или требуется заранее избежать возможности таких конфликтов, создав логические группы кода.РешениеДля структурирования кода


Пример 12-43. Генератор имен файлов

Из книги Linux программирование в примерах автора Роббинс Арнольд

Пример 12-43. Генератор имен файлов #!/bin/bash# tempfile-name.sh: Генератор имен временных файловBASE_STR=`mcookie` # 32-символьный (128 бит) magic cookie.POS=11 # Произвольная позиция в строке magic cookie.LEN=5 # $LEN последовательных символов.prefix=temp # В конце концов это временный ("temp")


18.2. Globbing -- Подстановка имен файлов

Из книги Linux и UNIX: программирование в shell. Руководство разработчика. автора Тейнсли Дэвид

18.2. Globbing -- Подстановка имен файлов Bash, сам по себе, не распознает регулярные выражения. Но в сценариях можно использовать команды и утилиты, такие как sed и awk, которые прекрасно справляются с обработкой регулярных выражений.Фактически, Bash может выполнять подстановку имен


10.10. Пространства имен и шаблоны функций А

Из книги автора

10.10. Пространства имен и шаблоны функций А Как и любое другое глобальное определение, шаблон функции может быть помещен в пространство имен (см. обсуждение пространств имен в разделах 8.5 и 8.6). Мы получили бы ту же семантику, если бы определили шаблон в глобальной области


16.12. Пространства имен и шаблоны классов

Из книги автора

16.12. Пространства имен и шаблоны классов Как и любое определение в глобальной области видимости, определение шаблона класса можно поместить внутрь пространства имен. (Пространства имен рассматривались в разделах 8.5 и 8.6.) Наш шаблон будет скрыт в данном пространстве имен;


Шаблоны

Из книги автора

Шаблоны Делать работу, которая до этого уже была выполнена другими, – напрасная трата времени и сил. Ваши усилия, затраченные на оформление списка приглашенных на вечеринку, можно направить на другие неотложные дела, если воспользоваться подсистемой шаблонов. Созданные