Тарифы Услуги Сим-карты

Для групповых операций с файлами используются маски имен файлов. Маска файлов

Порядок, определяющий способ организации, хранения и именования данных на носителях информации в компьютерах называется файловой системой.

Файл (от английского папка) – это некоторая совокупность данных, хранимая и обрабатываемая, как единое целое.

Файл имеет имя и расширение. Расширение указывает на то, какой именно тип данных находится в файле (программа, текст, рисунок и т.д.). Расширение отделено от имени файла точкой (например, test.doc).

Примеры некоторых типов файлов:

Исполняемые файлы – расширение.exe, .com;

Текстовые файлы – расширения.txt, .doc;

Архивные файлы – расширения.rar, .zip;

Звуковые файлы – расширения.mp3, wav;

В ОС Windows и других операционных системах используется типовая древовидная структура файловой системы.

Корневой каталог обозначается буквой – именем логического диска. После буквы ставится двоеточие и обратный слэш: C:\.

Полный путь к файлу состоит из имени корневого каталога и имен последовательно вложенных друг в друга каталогов, разделенных обратным слэшем. В конце пути находится сам файл: C:\Study\Subject\Math\text1.txt.

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

Для задания масок кроме обычных символов, допустимых в именах файлов, используют специальные символы:

«*» - заменяет любое количество (в том числе и нулевое) любых символов;

«?» - заменяет один и только один обязательно стоящий в указанном месте символ.

Например, по маске «*.*» будут отобраны вообще все файлы, по маске «*.txt» - файлы с расширением.txt, по маске «as?.doc» - файлы, с расширением.doc, имена которых начинаются на «as» и имеют обязательный непустой третий символ.

Если установлена сортировка по имени или типу, сравнение идет по кодам символов. При этом если задана сортировка, к примеру, по имени, то при наличии одинаковых имен сортировка будет применена к расширению.

Для хранения и анализа большого объема информации организовывают Базы Данных. Под Базой Данных понимают организованную в соответствии с некоторыми правилами, структурированную совокупность логически связанных данных. Эти данные предназначены для удобного совместного хранения и анализа.

Реляционная База Данных состоит из связанных между собой таблиц.

Перемещение по каталогам

Пример 1.

Учитель работал в каталоге С:\Учебный материал\11 класс\Контрольные работы.
Затем перешел в дереве каталогов на уровень выше, спустился в подкаталог Теоретический материал и удалил из него файл Введение . Каково полное имя файла, который удалил преподаватель?

1) С:\Учебный материал\11 класс\Введение. doc

2) С:\Учебный материал\11 класс\Теоретический материал\Введение. doc

3) С:\Учебный материал\Теоретический материал\Введение. doc

4) С:\Учебный материал\Введение\Теоретический материал. doc

Решение:

Последовательно повторим действия учителя. После того, как он перешел в дереве каталогов на уровень выше, он оказался в каталоге С:\Учебный материал\11 класс, спустившись в подкаталог Теоретический материал, он оказался в каталоге С:\Учебный материал\11 класс\Теоретический материал. Именно там он и удалил файл Введение. Значит полное имя удаленного файла С:\Учебный материал\11 класс\ Теоретический материал \Введение. doc .

Ответ: 2

Пример 2.

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

1) 12 2) 13 3) 15 4) 16

Решение:

Обратим внимание на словосочетание «включая корневой». Значит, на диске существует корневой каталог, 3 вновь созданных каталога и в каждом из трех еще по 4: 1+3+3*4=16.

Ответ: 4

Отбор файла по маске

Пример 3.

Для групповых операций с файлами используются маски имен файлов. Маска представляет собой последовательность букв, цифр и прочих допустимых в именах файлов символов, в которых также могут встречаться следующие символы: Символ «?» (вопросительный знак) означает ровно один произвольный символ. Символ «*» (звездочка) означает любую последовательность символов произвольной длины, в том числе «*» может задавать и пустую последовательность. Определите, какое из указанных имен файлов удовлетворяет маске: ? vi * r .? xt

1) vir.txt 2) ovir.txt 3) ovir.xt 4) virr.txt

Решение:

Последовательно переберем все файлы: 1) не подходит, т.к. «?» в первой позиции маски означает обязательное наличие непустого символа перед буквой v, 2) полностью удовлетворяет условию маски, 3) не подходит, т.к. «?» после точки означает обязательное наличие непустого символа перед буквой x, 4) не подходит по той же причине, что и 1).

Ответ: 2

Пример 4.

Для групповых операций с файлами используются маски имен файлов. Маска представляет собой последовательность букв, цифр и прочих допустимых в именах файлов символов, в которых также могут встречаться следующие символы: Символ «?» (вопросительный знак) означает ровно один произвольный символ. Символ «*» (звездочка) означает любую последовательность символов произвольной длины, в том числе «*» может задавать и пустую последовательность. Определите, какое из указанных имен файлов не удовлетворяет маске: sys ??.*

1) syste.m 2) sys23.exe 3) system.dll 4) syszx.problem

Решение:

По условиям маски файл должен иметь любое расширение, а имя файла должно начинаться на sys и оканчиваться ровно двумя непустыми символами. Этому условию не удовлетворяет только файл 3). Он содержит в имени не два, а три символа после sys.

Ответ: 3

Поиск маски по набору файлов

Пример 5.

Для груп­по­вых опе­ра­ций с фай­ла­ми ис­поль­зу­ют­ся маски имён фай­лов. Маска пред­став­ля­ет собой по­сле­до­ва­тель­ность букв, цифр и про­чих до­пу­сти­мых в име­нах фай­лов сим­во­лов, в ко­то­рых также могут встре­чать­ся сле­ду­ю­щие сим­во­лы:

Сим­вол «?» (во­про­си­тель­ный знак) озна­ча­ет ровно один про­из­воль­ный сим­вол.

Сим­вол «*» (звез­доч­ка) озна­ча­ет любую по­сле­до­ва­тель­ность сим­во­лов про­из­воль­ной длины, в том числе «*» может за­да­вать и пу­стую по­сле­до­ва­тель­ность.

Опре­де­ли­те, по какой из масок может быть вы­бра­на ука­зан­ная груп­па фай­лов:

Решение:

Последовательно применим каждую маску к набору файлов:

Маска 1) требует, чтобы имя состояло ровно из 4-х символов, под эти требования не подходят файлы comfort.c и cobalt.cpp.

Маска 2) требует только, чтобы имя и расширение файла начинались на c. Под эти требования подходят все файлы.

Маска 3) требует, чтобы расширение содержало 3 символа, под эти требования не подходят файлы comfort.c и coat.c.

Маска 4) тоже требует, чтобы расширение содержало 3 символа. Аналогично предыдущему случаю не подходят файлы comfort.c и coat.c.

Ответ: 2

Базы данных. Анализ одной таблицы.

Пример 6.

На го­род­ской тур олим­пи­а­ды по ма­те­ма­ти­ке от­би­ра­ют­ся те уча­щи­е­ся, кто на­брал на рай­он­ном туре не менее 10 бал­лов или пол­но­стью решил хотя бы одну из двух самых слож­ных задач (№ 6 или № 7). За пол­ное ре­ше­ние задач 1– 4 даётся 2 балла; задач 5, 6 – 3 балла; за­да­чи 7 – 4 балла. Дан фраг­мент таб­ли­цы ре­зуль­та­тов рай­он­но­го тура.

Фа­ми­лия

За­да­ча

За­да­ча

За­да­ча

За­да­ча

За­да­ча

За­да­ча

За­да­ча

Ай­ва­зян

Жи­то­мир­ский

Ива­нен­ко

Ли­мо­нов

Пет­ра­ков

Ра­хи­мов

Су­ли­ка­шви­ли

Тол­качёва

Сколь­ко де­во­чек из этой таб­ли­цы про­шли на го­род­ской тур?

Решение:

Отметим в таблице девочек (пол ж), у которых сумма баллов не менее 10, или задача №6 решена на 3 балла, или задача №7 решена на 4 балла.

Фа­ми­лия

За­да­ча

За­да­ча

За­да­ча

За­да­ча

За­да­ча

За­да­ча

За­да­ча

Ай­ва­зян

Жи­то­мир­ский

Ива­нен­ко

Ли­мо­нов

Пет­ра­ков

Ра­хи­мов

Су­ли­ка­шви­ли

Тол­качёва

Ответ: 2

Базы данных. Анализ связанных таблиц.

Пример 7.

В фрагменте базы данных представлены сведения о родственных отношениях. На основании приведённых данных определите, сколько прямых потомков (т.е. детей и внуков) Павленко А.К. упомянуты в таблице 1.

Решение:

Две таблицы связаны через поле ID.

По таблице 1 определим ID Павленко А.К.: 2155.

По таблице 2 определим ID детей Павленко А.К.: 2302, 3002.

По таблице 2 определим ID внуков (дети детей) Павленко А.К.: у 2302 дети 2431, 2511, 3193, а у 3002 дети 2586,2570.

Т.е. общее число детей и внуков 7.

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

В операционной системе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 Пример иерархической структуры каталога.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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