6 что такое маска файлов. Шаблоны имен файлов

(символов-джокеров).

Шаблоны в командных оболочках

Чаще всего употребляются два символа - для замены любой строки символов звёздочка (* ) и для замены любого одиночного символа знак вопроса ().

При этом * может означать и пустую строку (отсутствие символов). Так например, одиноко стоящая звезда - это шаблон, к которому подходят все файлы каталогов, в которых осуществляется поиск по данному шаблону. Использование шаблона *.html позволит выделить все html-файлы, а шаблона my*.odt - файлы начинающиеся с «my» и оканчивающиеся на «.odt». Шаблон *2010* определяет все файлы, в именах которых присутствует группа символов 2010.

cat * >concat # Конкатенирует все файлы в текущем каталоге в один *.??? # Удаляет все файлы в текущем каталоге, имеющие суффикс из трех символов

Шаблоны в СУБД

В программах управления базами данных, например SQL , вместо * используется знак процента %, вместо? знак подчёркивания _. В Microsoft Access , точнее, в их скриптовых языках, символы-джокеры могут быть использованы в выражениях «LIKE».

Пример шаблонов

Регулярные выражения

В регулярных выражениях концепция символов-джокеров получила дальнейшее развитие. В них есть специальные обозначения не только для одного («.») и любого количества (квантификатор «*») символов, но и различных классов символов (например, пустые символы «\s»), альтернативных выражений ("|") и многое другое.

Назначение шаблонов

Иногда при работе с файлами необходимо или возможно указывать только часть их имени или расширения. Это делается, например, для того, чтобы в параметрах программы не называть полностью имена всех файлов, над которыми производится операция, а выделить их в группу по какому-нибудь признаку (заметим, что некоторые программы работают не с единичными файлами, а с группой). Также бывает необходимо найти файл или файлы, у которых неизвестны полное имя и/или расширения. Для этих целей используют так называемые шаблоны.

Командные оболочки Linux (shell , bash и др.), а также различные языки программирования позволяют выделять (искать) из множества имен файлов и каталогов определенные группы посредством использования так называемых шаблонов имен файлов. С шаблоном командная оболочка сравнивает очередной файл, и если он «вписался» в этот шаблон, то будет учтен, если нет - то будет пропущен. Грубо, шаблон можно сравнить с некой коробкой, в которую влезет не каждый предмет и не только из-за размеров, но и из-за несовпадения изгибов коробки и предмета.

Сегодня мы поговорим о масках имен файлов. Итак, что же это такое? Маской имени файла называется комбинация специальных символов, позволяющая легко производить массовый отбор файлов по каким-то общим признакам. Например, файлов одного типа или с похожим именем. Возможен также одновременный отбор по названным критериям.

Теперь разберемся, для чего это вообще нужно?

Во времена MS-DOS и подобных ей операционных систем, маски имен файлов использовались повсеместно. Это сегодня мы просто выделяем нужные файлы и копируем их, куда нужно. Тогда же для каждого действия вручную вбивалась соответствующая команда и применение масок имен позволяло значительно облегчить этот рутинный труд.

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

Также возможность отбор файлов по маскам используется в некоторых приложениях. Например, в программе MeinPlatz, которую мы рассматривали в статье или Recuva, о которой говорилось в статьях и .

Ну и конечно же эти маски используются при работе с командной строкой в консоли, хотя если вы работаете в консоли, я не думаю, что эта статья откроет вам что-то новое.

Для отбора файлов по маске используются символы «?» и «*», где «*» — набор произвольных символов, а «?» — один произвольный символ.

Например, под маску *.* попадают абсолютно все файлы, поскольку набор произвольных символов указывается как для имени, так и для расширения файла.

Если же нам необходимо отобрать, скажем, все аудиозаписи формата mp3, мы можем использовать маску *.mp3.

Маска example.* позволит отобрать файлы всех типов, носящие имя example. Но стоит придать этой маске вид example*.*, и под нее начнут попадать все файлы, начинающиеся с example. Например, под этот шаблон попадут также файлы с именами example1, exampleforyou и так далее.

Со знаком «?» все то же самое, но он заменяет какой-то один символ, поэтому необходимо точно знать количество символов. В связи с этим на практике он используется значительно реже, чем «*».

Если моя статья оказалась для вас полезной, посоветуйте пожалуйста ее своим друзьям с помощью кнопок социальных сетей или просто поделившись ссылкой.

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

В операционной системеMS-DOS существует способ, который значительно упро­щает выполнение такой операции с группой файлов. Для решения подобных задач используются шаблоны имен (маски) файлов . Фактически такой шаблон (маска) выступает в роли общего или группового имени для той группы файлов, над которой осуществляется та или иная операция. Такой шаблон представляет собой файл, и в имени, и в расширении которого могут использоваться только два символа: * и ? .

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

ü *. соm - все командные файлы (с расширением .соm );

ü *.* - все файлы текущего каталога;

ü а:fах*.dос - файлы с расширением .dос каталога fах.

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

ü ??. bak - файлы с любыми двухсимвольными именами и расширением bak ;

ü ТЕА??.* - файлы с именем, начинающимся с ТЕА и состоящим не более чем из 5 символов.

Путь к файлу - это имя диска и последовательность имён каталогов относитель­но корневого, разделённых символом "", где находится файл. Еслиимя устройства не указано, то подразумевается текущий диск. Если не указан путь, то подразумевается текущий каталог.

ПРИМЕР: Пусть в корневом каталоге диска С: имеются два каталога 1-го уровня (GAMES, TEXT ) и один каталог 2-го уровня (CHESS ). Как найти имеющиеся файлы (chess.exe, proba.txt )? Для этого необходимо указать путь к файлу. В путь файла входит имя диска и последова­тельность имен каталогов, т.е. пути к вышеперечисленным файлам со­ответственно будут:

C:GAMESCHESSchess.exe

C:TEXTproba.txt


Рис. 2 Пример иерархической структуры каталога.

Над файлами производиться различные операции:

* копирование (копия файла помещается в другой каталог),

* перемещение (сам файл перемещается в другой каталог),

* удаление (запись о файле удаляется из каталога),

* переименование (изменяется имя файла) и т.д.


Конец работы -

Эта тема принадлежит разделу:

Практическая работа №2 - Составление имен каталогов и файлов, их шаблонов и маршрутов к заданным файлам

Тема составление имен каталогов и файлов их шаблонов и маршрутов к заданным файлам.. цель работы овладение практическими навыками работы в файловой системе по.. практическая работа порядок выполнения работы..

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ:

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

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

В операционной системеMS-DOS существует способ, который значительно упро­щает выполнение такой операции с группой файлов. Для решения подобных задач используются шаблоны имен (маски) файлов . Фактически такой шаблон (маска) выступает в роли общего или группового имени для той группы файлов, над которой осуществляется та или иная операция. Такой шаблон представляет собой файл, и в имени, и в расширении которого могут использоваться только два символа: * и ? .

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

ü *. соm - все командные файлы (с расширением .соm );

ü *.* - все файлы текущего каталога;

ü а:\fах\*.dос - файлы с расширением .dос каталога fах.

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

ü ??.. bak - файлы с любыми двухсимвольными именами и расширением bak ;

ü ТЕА??.* - файлы с именем, начинающимся с ТЕА и состоящим не более чем из 5 символов.

Путь к файлу - это имя диска и последовательность имён каталогов относитель­но корневого, разделённых символом "\", где находится файл. Еслиимя устройства не указано, то подразумевается текущий диск. Если не указан путь, то подразумевается текущий каталог.

ПРИМЕР: Пусть в корневом каталоге диска С:\ имеются два каталога 1-го уровня (GAMES, TEXT ) и один каталог 2-го уровня (CHESS ). Как найти имеющиеся файлы (chess.exe, proba.txt )? Для этого необходимо указать путь к файлу. В путь файла входит имя диска и последова­тельность имен каталогов, т.е. пути к вышеперечисленным файлам со­ответственно будут:

C:\GAMES\CHESS\chess.exe

C:\TEXT\proba.txt


Рис. 2 Пример иерархической структуры каталога.

Над файлами производиться различные операции:

* копирование (копия файла помещается в другой каталог),

* перемещение (сам файл перемещается в другой каталог),

* удаление (запись о файле удаляется из каталога),

* переименование (изменяется имя файла) и т.д.