Шаблоны имен файлов. Лекция: Шаблоны (маска) имен файлов. Путь к файлу

Описание презентации по отдельным слайдам:

1 слайд

Описание слайда:

Файл. Маска файла. ©МБОУ «Гимназия №4» г.Чебоксары Александрова Юлия Владимировна

2 слайд

Описание слайда:

файл - область памяти, имеющая имя. Информация на дисках хранится в виде файлов. файлы имеют расширения, которые отделяются от имени точкой (например, файл music.mp3 - имеет расширение mp3). полное имя файла содержит полный путь к нему. (например, C:\music\metallica\One.mp3 - это полное имя файла One.mp3). файлы могут хранится в папках. У папок тоже есть имя. Папки иногда называют каталогами и директориями. папка, которая находится в другой папке, называется вложенной. Папка самого верхнего уровня, которая не лежит в другой папке, называется корневой или просто - корень диска. В Windows корневые каталоги обозначаются так - буква диска:\ (например, C:\ - корневой каталог диска C, E:\ - корневой каталог диска E). для выделения группы файлов удобно использовать маски. В маске можно использовать символы, которые должны быть в выделяемых именах файлов, а также специальные символы - *(звездочка) и?(знак вопроса). На месте звездочки может стоять любое количество (а может и не быть вообще) любых символов, а знак вопроса указывает, что на его месте должен стоять только один любой символ.

3 слайд

Описание слайда:

Дано дерево каталогов. Определите полное имя файла Doc3. 1) A:\DOC3 2) A:\DOC3\Doc3 3) A:\DOC3\Doc1 4) A:\TOM3\Doc3 Задание 1. 4

4 слайд

Описание слайда:

Перемещаясь из одного каталога в другой, пользователь последовательно посетил каталоги DOC, USER, SCHOOL, A:\, LETTER, INBOX. Каково полное имя каталога, из которого начал перемещение пользователь? 1) A:\DOC 2) A:\LETTER\INBOX 3) А:\SCHOOL\USER\DOC 4) А:\DOC\USER\SCHOOL Задание 2. 3

5 слайд

Описание слайда:

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

6 слайд

Описание слайда:

Например, если ввести в поиск следующею запись: gloss*.doc Будет выполнен поиск всех файлов, имена которых начинаются на «gloss», с расширением.doc, например Glossary.doc и Glossy.doc. А если ввести gloss?.doc, будет найден файл Glossy.doc или Gloss1.doc, но не Glossary.doc.

7 слайд

Описание слайда:

Поиск файлов. Найдем на диске C: файлы с расширением.doc. Выбираем Пуск - Найти - Файлы и папки…, задаем условие поиска (*.doc), поиск в – локальный диск (C:). Нажав кнопку Найти, получаем результат- все файлы с расширением.doc Задача. Найти на компьютере все файлы, удовлетворяющие заданному критерию.

8 слайд

Описание слайда:

9 слайд

Описание слайда:

1) Как будет выглядеть маска для выделения файлов с расширением jpg? Решение: В данном примере нас не интересует, сколько и какие символы будут содержаться в имени файла, поэтому маска будет выглядеть так - *.jpg 2) Как будет выглядеть маска для выделения файлов, в имени которых содержится doc? Решение: В данном случае нас не интересует расширение файлов, главное, чтобы в имени содержалось doc. Т. е. не важно, стоит ли что-то до и после doc. Маска будет выглядеть так - *doc*.* Задачи на составление масок.

10 слайд

Описание слайда:

3) Как выглядит маска для файлов, в имени которых второй символ l, пятый символ e, а третья буква в расширении c? Решение: Так как нам известны конкретные позиции букв в имени файла, использовать звездочку нельзя. Начало маски будет выглядеть следующим образом - ?l??e. После 5-го символа могут быть или не быть другие символы, поэтому после него поставим звездочку - ?l??e*. Аналогично и с расширением - ??с*. В итоге получается следующая маска?l??e*.??с*. Задачи на составление масок.

11 слайд

Описание слайда:

Определите, какое из указанных имен файлов удовлетворяет маске: A?ce*s.m* Acess.md 2) Accesst.dbf 3) Access.mdb 4) Akcces.m1 Определите, по какой из масок будет выбрана указанная группа файлов make.cpp, name.c, age.pc, name.cpp *a*e.? 2) a?e.* 3) *a?e.* 4) ?a?e.* Определите, какое из указанных имен файлов удовлетворяет маске: ?mas*.p* massiv.pas 2) mmassiv.p 3) mmassiv.cpp 4) mas.p 3 3 2

Обратим внимание на то, что три файла имеют в имени букву «t» на первом месте, а последний - на втором. Значит маску нужно начать с произвольного символа «*», а уже на второе место поставим «t». Варианты 2) и 4) нам уже не подходят. Третий символ «r» стоит во всех файлах на одном и том же месте. Несовпадающие последовательности букв, стоящих до и после дефиса обозначим звёздочками «*». Последовательности text и txt отличаются только тем, что в последней отсутствует «е». Обозначим её как «*». Использовать «?» нельзя, т. к. он не заменяет пустую последовательность, значит вариант 1) не подходит. Искомая маска *tr*-*.t*xt cоответствует варианту 3) Отбор группы файлов по маске.

14 слайд

Описание слайда:

Каким запросом вывести в поиске все файлы? *.* Вы забыли под каким именем сохранили файл MS Word, но помните, когда создали его. Как вы намерены его искать? *.docx,*.doc и укажу дату создания. Почему знаки \ / ? : * " > < | нельзя использовать в имени файла? Потому что это зарезервированные символы. Вопросы.

Задачи типа А4 ЕГЭ по информатике подразумевают проверку знаний о файловой системе организации данных . За правильно решенное задание начисляется 1 балл , а рекомендованное время выполнения данного типа задач — 1 минут а.

Для решения данного типа задач необходимо знать следующее:

  • файл — область памяти, имеющая имя. Информация на дисках хранится в виде файлов.
  • файлы имеют расширения (хотя это необязательно), которое отделяется от имени точкой (например, файл music.mp3 — имеет расширение mp3 ).
  • полное имя файла содержит полный путь к нему. Например, C:\music\metallica\One.mp3 — это полное имя файла One.mp3.
  • файлы могут хранится в папках . У папок тоже есть имя. Папки иногда называют каталогами и директориями .
  • папка, которая находится в другой папке, называется вложенной . Папка самого верхнего уровня, которая не лежит в другой папке, называется корневой или просто — корень диска . В Windows корневые каталоги обозначаются так — буква диска:\ , например, C:\ — корневой каталог диска C, E:\ — корневой каталог диска E.
  • для выделения группы файлов удобно использовать маски . В маске можно использовать символы, которые должны быть в выделяемых именах файлов, а также специальные символы — * (звездочка) и ? (знак вопроса). На месте звездочки может стоять любое количество (а может и не быть вообще) любых символов, а знак вопроса указывает, что на его месте может стоять только один символ.

Рассмотрим некоторые примеры:

1) Как будет выглядеть маска для выделения файлов с расширением jpg?

В данном примере нас не интересует, сколько и какие символы будут содержаться в имени файла, поэтому маска будет выглядеть так — *.jpg

2) Как будет выглядеть маска для выделения файлов, в имени которых содержится doc ?

В данном случае нас не интересует расширение файлов, главное, чтобы в имени содержалось doc . Т. е. не важно стоит что-то до и после doc . Итоговая маска будет выглядеть так — *doc*.*

3) Как будет выглядеть маска для выделения файлов, имя которых начинается на w ?

По аналогии с примерами выше, запишем маску — w*.*

4) Как выглядит маска для файлов, в имени которых вторая буква e ?

Знак вопроса в маске заменяет один символ, соответственно маска будет выглядеть так ?e*.*

5) Как выглядит маска для файлов, в имени которых второй символ l , пятый символ e , а третья буква в расширении c ?

Так как нам известны конкретные позиции букв в имени файла, использовать звездочку нельзя. Начало маски будет выглядеть следующим образом — ?l??e . После 5-го символа могут быть или не быть другие символы, поэтому после него поставим звездочку — ?l??e* . Аналогично и с расширением — ??e* . В итоге получается следующая маска ?l??e*.??e* .

Рассмотрим решение задач типа А4 :

Задача А4 из демонстрационного варианта ЕГЭ 2012г.

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

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

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

В каталоге находятся пять файлов:

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

Рассмотрим маски более детально:

1) имя файла содержит букву o , за ней обязательно должен быть хотя бы 1 символ. Расширение должно начинаться с буквы d , за которой должен быть хотя бы 1 символ. Если мы посмотрим исходные файлы, то увидим, что под эту маску подходит и файл orsk.dat , хотя в результатах его нет. Значит, данная маска не является решением .

2) имя файла начинается с символа, за которым на втором месте стоит буква o , за которой должен быть хотя бы 1 символ. Расширение начинается с буквы d . Применим маску к исходным файлам увидим, что в результате полученная группа совпадает с указанной в условии, файл orsk.dat маске не соответствует. Это и есть правильное решение .

3) в третьей маске имя файла содержит or в любой позиции, расширение начинается на doc , после чего должен быть еще хотя бы 1 символ. Здесь сразу видно, что файлы lord.doc и port.doc не подходят под маску, значит решение неверно .

4) имя файла состоит из 4-х символов, причем в середине содержится or , перед ним и после него по одному символу. Расширение начинается на doc , после чего следует еще 1 символ. Как легко убедиться, файлы lord.doc и port.doc не соответствуют заданной маске (у них расширение из 3-х символов). Решение неверно .

В итоге получаем правильный ответ — 2 .

Решение задачи А4 демонстрационного варианта ЕГЭ 2013:

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

В каталоге находится 6 файлов:
asc.wma
casting.wmv
last.wma
pasta.wmvx
pasta.wri
vast.wma

Определите, по какой из перечисленных масок из этих 6 файлов будет
отобрана указанная группа файлов:
casting.wmv
last.wma
pasta.wmvx
vast.wma

1) ?as*.wm? 2) *as?.wm* 3) ?as*.wm* 4) ?as*.w*

Решение :

Рассмотрим каждую маску подробнее:

1) Перед as стоит один символ, после может быть любое количество любых символов или не быть вообще . Расширение состоит из 3-х символов, начинается на wm , после чего еще один символ.

Как видим, файл pasta.wmvx не соответствует маске, так как его расширение состоит из 4-х символов, но он есть среди отобранных. Значит маска неверна.

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

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

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

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

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

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



Понравилась статья? Поделиться с друзьями: