Как найти цифры в имени файла

Как найти файл по части имени

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

Поиск файлов по части имени

Рассмотрим все на простеньком примере, допустим есть какой-то список документов.

Поиск по части имени

И если в поиск набрать «коп» то поиск найдет все документы где в начале имени встречается это сочетание букв.

Как найти файл по части имени

А если набрать «пия» то поиск не даст результатов, так как по умолчанию введённое в поисковую строку сочетание букв или цифр будет искаться в начале имени файлов.

Поиск файлов по части имени

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

поиск файлов по части имени

Давайте рассмотрим еще один пример, есть файл именем «Лайфхаки», представим что мы помним только последнею часть «хаки».

Как найти файл

Поиск ничего не найдет, так как он будет искать по началу имени.

Как найти файл зная только часть имени файла

Для того чтобы поиск искал введённое сочетание во всем имени нужно поставить «*».

Как найти файл зная только часть имени

Вот так символ «*» помогает искать файлы зная только часть имени, на самом деле подобных символом несколько, есть например, «?» оно позволят искать один пропущенный знак, например, если ввести «к?т» то поиск покажет все файлы с именем «кот», «кит», «кат» и т.д. Так жесть есть символ «#», он делает тоже самое только в числах.

find

Искать файлы разумно через find с простой маской:

find /lib/ -name "*[0-9]*[0-9]*[0-9]*"

Кавычки чтоб не сработал glob встроенный в bash или zsh. (Иногда получаются неожиданные эффекты)

glob

Через glob сразу делайте с файлами что хотели:

 ls -la *[0-9]*[0-9]*[0-9]*

Или там

tar czf ../backup.tar.gz *[0-9]*[0-9]*[0-9]*

Во всех примерах попадутся ещё и каталоги с такой маской.

Квадратные скобки работают без опций. Дополнения некоторые надо включать в баше.

globstar

Эта опция даёт вам сверхспособности по подстановке! Если ввести:

$ shopt -s globstar
$ ls **

тогда оболочка покажет рекурсивно все каталоги и подкаталоги.

extglob

Эта опция активирует функции, которые чаще ассоциируются с регулярными выражениями. Иногда это очень полезно:

$ shopt -s extglob
$ touch afile bfile cfile
$ ls
afile bfile cfile
$ ls ?(a*|b*)
afile bfile
$ ls !(a*|b*)
cfile

Здесь шаблоны помещаются в круглые скобки и разделяются вертикальной чертой. Вот доступные операторы:

? = соответствует нулю или одному вхождению заданных шаблонов
! = показать всё, что не соответствует заданным шаблонам
* = ноль или более вхождений
+ = одно или более вхождений
@ = ровно одно вхождение

28 / 28 / 4

Регистрация: 23.02.2012

Сообщений: 104

1

Определение имен файлов с цифрами

26.03.2013, 09:24. Показов 2552. Ответов 7


Студворк — интернет-сервис помощи студентам

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

не выводит файлы заканчивающиеся на 1 директории Е. С остальными цифрами проблем нет.
В чем проблема? Где ошибка?



0



sov44

1778 / 760 / 130

Регистрация: 09.04.2011

Сообщений: 1,325

26.03.2013, 19:25

2

Bash
1
2
3
4
5
6
7
8
9
@echo off
SetLocal enabledelayedexpansion
 
for /f "delims=" %%a in ('dir /b /a-d "c:Новая папка*"') do (
set file=%%~na
set /a endfile=!file:~-1!
if !endfile! gtr 0 echo %%~nxa
)
pause



1



sone17

28 / 28 / 4

Регистрация: 23.02.2012

Сообщений: 104

26.03.2013, 23:44

 [ТС]

3

чтобы не плодить темы, спрошу еще. нужно переименовать файлы test01.txt, jierttest02.txt в test_01.txt, test_02.txt..
переписал найденный на просторах инета код, но он не работает, пишет что не найден файл.

Bash
1
2
3
4
5
6
7
8
9
10
@echo off&setlocal&set count=1
for /f "usebackq delims=" %%x in (`dir /a:-d /b "C:TEMP*test*.txt"`) DO CALL :NUMBER %%x
goto :EOF
:NUMBER
set NAME=%~n1%
set EXT=00%count%
set EXT=%EXT:~-3%
ren "%1" "%NAME%_%EXT%.txt"
set /a count+=1
goto :EOF

Если же дописать echo

Bash
1
echo ren "%1" "%NAME%_%EXT%.txt"

То выводится: ren «test01» «test_01.txt» …не пойму в чем соль выполнения программы ren, и почему она не находит файл…



0



1778 / 760 / 130

Регистрация: 09.04.2011

Сообщений: 1,325

26.03.2013, 23:52

4

sone17, нумерация х_01.txt, х_02.txt сквозная или привязана к номеру файла-донора?



0



28 / 28 / 4

Регистрация: 23.02.2012

Сообщений: 104

27.03.2013, 00:02

 [ТС]

5

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

Добавлено через 8 минут
беда какая-то с командной строкой. в ручную использовал функцию ren, и все заработало…



0



Eva Rosalene

Модератор

4916 / 1972 / 385

Регистрация: 06.01.2013

Сообщений: 4,666

04.04.2013, 19:55

6

Цитата
Сообщение от sone17
Посмотреть сообщение

То выводится: ren «test01» «test_01.txt»

Ну так надо

Bash
1
ren "test01.txt" "test_01.txt"

А не

Bash
1
ren "test01" "test_01.txt"



0



sone17

28 / 28 / 4

Регистрация: 23.02.2012

Сообщений: 104

05.04.2013, 16:48

 [ТС]

7

Цитата
Сообщение от sov44
Посмотреть сообщение

Bash
1
2
3
4
5
6
7
8
9
@echo off
SetLocal enabledelayedexpansion
 
for /f "delims=" %%a in ('dir /b /a-d "c:Новая папка*"') do (
set file=%%~na
set /a endfile=!file:~-1!
if !endfile! gtr 0 echo %%~nxa
)
pause

А есть ли альтернативный способ? желательно чтобы можно было записать все одной командой, не используя файла?



0



Dragokas

Эксперт WindowsАвтор FAQ

18041 / 7644 / 891

Регистрация: 25.12.2011

Сообщений: 11,426

Записей в блоге: 17

06.04.2013, 02:18

8

sone17, это можно записать в одну строку: Принцип составления однострочных команд Batch

Можно еще добавить фильтрацию по цифре в конце файла на регулярке:

Bash
1
dir ... | findstr /R ".*[0-9][0-9]..*"

Написано с учетом, что число 2-значное:

Bash
1
cmd /v:on /c "for /f "delims=" %%a in ('dir /b /a-d "c:Новая папка*"^|findstr /R ".*[0-9][0-9]..*"') do (set file=%%~na& set num=!file:~-2!& ren "c:Новая папка%%~nxa" "test_!num!%%~xa")"

Если выполнять вне бат-файла, двойные проценты следует заменить на одиночные.



1



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

06.04.2013, 02:18

Помогаю со студенческими работами здесь

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

Задача:
читать папку с файлами, затем вычленять из имени файла часть (дату),…

Распределение файлов в папках по подпапкам с именами, соответствующими части имен этих файлов
Есть много пдф файлов с адресами в названии

ул. Комсомольская, д. 10 (1 ввод)
ул….

Определение знака между цифрами
Есть текстовое поле в которое будет вводиться цифры через какой-то знак например: 5, 14, 27, 38,…

Копирование файлов с переименованием в случае совпадения имён перемещаемых и имеющихся в папке назначения файлов
Добрый день. Помогите создать bat файл. Смысл в чем есть папка загрузки на компьютере с нее файлы и…

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:

8

Быстрый поиск файлов и папок по маске Что это такое и как это сделать?

Маской называют шаблон по которому идёт отбор файлов, где используются специальные символы:

Для Windows систем это символ? или символ *
? — означает любой символ или его отсутствие
* — означает любое число символов.

Н-р если есть файлы:
123.txt
123.doc
12.txt
1.txt
223.txt

И маска будет 12?.* — то отберутся файлы 12.txt, 123.doc и 123.txt
Если маска будет 1*.txt то отберутся все файлы, начинающиеся с 1 с расширением .txt (все кроме 123.doc и 223.txt)

Проверить это всё можно:

Клавишами Win+F или Пуск — Найти

Или в командах DOS типа dir и в файловых менеджерах типа Far или TotalCommander н-р

Насчет того, что? обязательное наличие любого символа 😉
В windows 10 (или 7) зайдите в папку windows
Проводник — это же приложение windows? 🙂
В строке поиска наберите:
?a*
Любуйтесь результатом, который прилагается:

Программы для поиска файлов

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

Поиск файлов в Windows 10 стандартными средствами

Для поиска файлов и папок на компьютере традиционно используется встроенный в «Проводник» поисковый инструментарий. Незнакомые с функционалом этого инструментария пользователи выполняют поиск только по имени искомого объекта. Но у него есть и другие возможности, позволяющие находить объекты по маске, дате, размеру, тегам, типам, названию учетной записи Windows файл/папку, из-под которой был создан объект. Кроме того, встроенный системный поиск позволяет задавать условия поиска.

Поиск файлов в Windows 10 по маске

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

  • «?». Данным знаком заменяется один символ в названии файла/папки. Например, если необходимо найти файл «песенка», в качестве поискового запроса можно использовать «песенк?». Т.е. Windows будет искать объект, название которого начинается с «песенк», а заканчивается любым символом.
  • «*». Знак заменяет неограниченное количество символов. Удобно использовать, например, для поиска файлов с определенным расширением. К примеру, запрос «*.txt» выведет все файлы с расширением «.txt», независимо от их названия. В такой запрос как «П*» выведет все файлы и папки, названия которых начинаются на «П».

Оба этих знака можно объединять в одном поисковом запросе. Например, если ввести «*mo?a», отобразятся объекты, в названии которых присутствует слог «mo», после которого может стоять любой символ, но вот после него должна быть буква «a».

Использование 0-1

Поиск (фильтрация) по дате, размеру, типам, тегам

Поиск «Проводника» позволяет фильтровать результаты поиска по различным критериям. Для этого в запрос вводится специальная команда, после которой следует двоеточие и ее параметр. Фильтры можно использовать вместе с названиями, включая те, что написаны с использованием подстановочных записей.

  • «Дата». Выводит объекты, созданные в указанную дату или в определенном временном интервале. Например, запрос «*.png дата:‎09.‎01.‎2021» выведет файлы с расширением «.png», созданные 9 января 2021 года.
  • «Тип». Фильтрация файлов по таким типам, как музыка, видео, документ и т.д.
  • «Размер». Выводит файлы указанного размера в байтах, килобайтах, мегабайтах и т.д. Также можно использовать диапазоны и предлагаемые системой параметры (выводятся на экран после ввода «размер:») – «Крошечные» (0-16 Кб), «Огромные» (1-4 Гб) и другие диапазоны.
  • «Тег». Некоторые файлы в Windows могут помечаться тегами самой системой или пользователем. И их можно вводить в качестве фильтра для поиска. Для справки: при сохранении документов в Word также имеется возможность ввода тегов вручную.

Поиск файлов по дате в Windows

  • «Пользователь». Параметр, служащий для отображения файлов, созданных в конкретной учетной записи Windows.

Как и в предыдущем случае, в одном поисковом запросе можно использовать несколько параметров.

Использование логических операторов и условий в поиске Windows 10

Еще одна интересная особенность встроенного в «Проводник» поиска – возможность использования логических операторов и задания условий, которым должны соответствовать искомые объекты. Вот наиболее востребованные:

  • «AND» или «И» (можно использовать английское и русское написание оператора, но в любом случае его нужно писать прописными буквами). Выводит объекты, соответствующие ключевым словам, помещенным по обе стороны оператора. Например, запрос «1 И 2» отобразит файлы/папки, в названиях которых присутствует обе эти цифры.
  • «OR» или «И». Выводит объекты, в именах которых присутствует либо первое, либо второе ключевое слово. Например, запрос «1 ИЛИ 2» приведет к выводу следующего результата:

Использование операторов условий в поиске Windows

  • «NOT» или «НЕ». Ищет объекты, соответствующие ключевому слову, стоящему до оператора «НЕ», но не содержащее ключевое слово после этого оператора. Т.е., запрос «1 НЕ 2″ выведет файлы/папки с цифрой 1, но без цифры 2 в имени.
  • Операторы «<» и «>» (меньше/больше). Используются, например, при поиске файлов размером больше и/или меньше указанного значения. Например, запрос «размер:>50кб размер:<100кб» отобразит файлы больше 50, но меньше 100 килобайт:

Поиск файлов по размеру в Windows

Использование специализированных программ для поиска файлов

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

Wise JetSearch

Wise JetSearch — небольшая и простая в использовании программа, предназначенная исключительно для поиска файлов на дисках и внешних накопителях. Поддерживаются устройства хранения, отформатированные в формате FAT12, FAT16, FAT32, exFAT и NTFS. Не сказать, что эта утилита обладает какими-либо выдающимися способностями, однако скорость ее работы очень высокая.

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

Программа Wise JetSearch

В плане дополнительных функциональных возможностей Wise JetSearch отметим:

  • Возможность использования подстановочных знаков «*» и «?» для замены любого количества или одного символа, соответственно.

Wise JetSearch

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

Просмотр содержимого файла в Wise JetSearch

Отдельно отметим возможность Wise JetSearch интегрироваться в систему в качестве раскрывающегося виджета, который может заменить собой стандартный системный поиск. Главное окно программы необязательно держать открытым. При вводе поискового запроса в виджет оно автоматически откроется и покажет результат поиска.

Виджет Wise JetSearch

Everything

Everything — более мощная в плане поискового функционала программа. Утилита также распространяется бесплатно и полностью поддерживает русский язык. Принцип работы данной программы на первоначальном этапе повторяет таковой у Wise JetSearch — утилита индексирует файлы и папки, размещая их имена и местоположение в своей базе, благодаря чему последующий поиск будет осуществляться мгновенно.

Everything

Программа Everything обладает довольно широким функционалом и имеет множество «фишек», делающих работу с ней простой, удобной и эффективной. И в их число входит не только поисковые возможности. Отметим следующие моменты:

  • Множество вариантов сортировки результатов поиска с возможностью быстрого переключения между ними посредством горячих клавиш.

Программа Everything

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

Меню

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

Фильтрация файлов в Everything

  • Возможность подключения к уделенным или локальным ETP/FTP-серверам и выполнение поиска на них в режиме реального времени.

Настройка ETP/FTP в Everything

  • Сохранение поисковых запросов вместе с критериями поиска в закладки для последующего быстрого их вызова в любой момент.

Создание закладок в Everything

  • Наличие функции копирования и перемещения файлов с параллельным их переименованием в соответствии с заданным пользователем форматом.

Функции работы с файлами в Everything

  • Предварительный просмотр файлов.

Предварительный просмотр файлов в Everything

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

Команды Everything

И все перечисленное выше — далеко не полный список возможностей программы Everything.

Quick Search

Quick Search — еще одна поисковая программа для мгновенного поиска файлов и папок на всех подключенных к компьютеру дисках и переносных носителях. По функциональным возможностям она уступает Everything, но значительно превосходит Wise JetSearch. Как и в предыдущих случаях, программа Quick Search поддерживает русский язык.

Из функциональных возможностей программы отметим:

  • Поиск с использованием стандартных подстановочных знаков и просмотр содержимого файлов.

Quick Search

  • Быстрая (ввиду расположения соответствующих кнопок в главном окне) фильтрация результата поиска по различным типам/категориям файлов. Изначально категорий 6. Но их список можно расширить, привязав к новой созданной категории неограниченное количество расширений файлов.

Программа Quick Search

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

Quick Search

  • Быстрый поиск установленных на компьютере приложений с возможностью их запуска прямо из окна программы Quick Search.

Поиск программ в Quick Search

  • Возможность выполнения веб-поиска с использованием поисковой системы Bing. Данная функция аналогична таковой у адресной строки любого браузера: пользователь вводит несколько символов, браузер отображает наиболее популярные запросы. При клике по выданному программой результату поиска будет запущен выбранный по умолчанию браузер.

Поиск в интернете в Quick Search

SearchMyFiles

SearchMyFiles — самая компактная программа для поиска файлов и папок, размер которой не превышает 300 Кб. При этом в приложении предусмотрены различные функции (условия) поиска, удобно расположенные в одном единственном окне, что упрощает работу с утилитой. Пользователь может задать такие условия поиска, как:

  • Режим поиска, включая поиск дубликатов файлов и поиск дублирующихся имен.
  • Папки, исключенные из поиска.
  • Отдельные маски для поиска папок и файлов с использованием подстановочных знаков.
  • Исключение из поиска файлов определенного типа.
  • Содержимое файлов. В этом плане SearchMyFiles имеет преимущества перед предыдущими программами, т.к. она может искать не только текст, но и заданный шестнадцатеричный (Hex) код. Также имеется возможность поиска нескольких значений с применением операторов «И» либо «ИЛИ».
  • Содержимое (текст или Hex-код), которое не должно присутствовать файлы.
  • Время создания, изменения и доступа. Помимо обычного формата времени, здесь можно задействовать, например, режим поиска файлов и папок, измененных/созданных с прошлой перезагрузки компьютера.
  • Размер файлов, уровень вложенности папок, атрибуты, количество найденных объектов и другие условия.

SearchMyFiles

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

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

Программа SearchMyFiles

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

Работа с файлами и папками в SearchMyFiles

LAN Search Pro

И последняя в нашем обзоре программа — LAN Search Pro. Сразу скажем, что она не предназначена для поиска файлов и папок на запоминающих устройствах компьютера. Ее основное предназначение — выполнение поиска в локальной сети.

Программа LAN Search Pro не может похвастаться наличием множества поисковых функций вроде создания условий поиска, но самое основное здесь есть. Пользователю предлагается поиск по названиям файлов и папок с возможностью замены букв/цифр/символов стандартными подстановочными знаками «*» и «?». При необходимости можно задать несколько масок имен, разделив их точкой с запятой.

LAN Search Pro

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

Программа LAN Search Pro

Но главное, что в программе LAN Search Pro предусмотрен встроенный инструментарий по работе с сетевыми функциями операционной системы Windows. Пользователь может создать собственный список сетевых компьютеров, а затем выбрать один из режимов поиска на них (например, исключить некоторые ПК из поиска или задействовать поиск данных на компьютере с определенным IP-адресом).

Настройки LAN Search Pro

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

Настройки FTP в LAN Search Pro

Среди вспомогательных функций:

  • Возможность подключения/отключения локальных сетевых дисков/папок (используется стандартный функционал Windows).

Подключение сетевой папки в LAN Search Pro

  • Сохранение паролей доступа к сетевым компьютерам при помощи встроенного менеджера паролей.

Сохранение сетевых паролей в LAN Search Pro

Экспорт с возможностью последующего импорта результатов поиска (таблицы) в файл CSV, XML, HTML или DAT (в данном случае это собственный формат хранения данных LAN Search Pro).

Остались вопросы, предложения или замечания? Свяжитесь с нами и задайте вопрос.

Задача №4. Файловая система, базы данных. Поиск информации в базе данных. Отбор файлов по маске.

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

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

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

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

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

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

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

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

Файлы, содержащие изображения — .jpg, .gif, .bmp.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Автор оригинала: Doug Hellmann.

Цель:

Используйте правила оболочки Unix, чтобы найти имена файлов, соответствующие шаблону.

Несмотря на то, что API glob невелик, модуль обладает большой мощностью. Это полезно в любой ситуации, когда программе нужно искать в файловой системе список файлов с именами, соответствующими шаблону. Чтобы создать список имен файлов, у всех которых есть определенное расширение, префикс или любая общая строка в середине, используйте glob вместо написания специального кода для сканирования содержимого каталога.

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

Пример данных

Примеры в этом разделе предполагают, что в текущем рабочем каталоге присутствуют следующие тестовые файлы.

$ python3 glob_maketestdata.py

dir
dir/file.txt
dir/file1.txt
dir/file2.txt
dir/filea.txt
dir/fileb.txt
dir/file?.txt
dir/file*.txt
dir/file[.txt
dir/subdir
dir/subdir/subfile.txt

Если эти файлы не существуют, используйте glob_maketestdata.py в примере кода, чтобы создать их, прежде чем запускать следующие примеры.

Подстановочные знаки

Звездочка ( * ) соответствует нулю или большему количеству символов в сегменте имени. Например, dir/* .

glob_asterisk.py

import glob
for name in sorted(glob.glob('dir/*')):
    print(name)

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

$ python3 glob_asterisk.py

dir/file*.txt
dir/file.txt
dir/file1.txt
dir/file2.txt
dir/file?.txt
dir/file[.txt
dir/filea.txt
dir/fileb.txt
dir/subdir

Чтобы перечислить файлы в подкаталоге, подкаталог должен быть включен в шаблон.

glob_subdir.py

import glob

print('Named explicitly:')
for name in sorted(glob.glob('dir/subdir/*')):
    print('  {}'.format(name))

print('Named with wildcard:')
for name in sorted(glob.glob('dir/*/*')):
    print('  {}'.format(name))

В первом показанном ранее случае имя подкаталога указывается явно, а во втором случае для поиска каталога используется подстановочный знак.

$ python3 glob_subdir.py

Named explicitly:
  dir/subdir/subfile.txt
Named with wildcard:
  dir/subdir/subfile.txt

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

Подстановочный знак из одного символа

Знак вопроса (? ) – еще один подстановочный знак. Он соответствует любому одиночному символу в этой позиции в имени.

glob_question.py

import glob

for name in sorted(glob.glob('dir/file?.txt')):
    print(name)

Предыдущий пример соответствует всем именам файлов, которые начинаются с file , содержат еще один символ любого типа, а затем заканчиваются .txt .

$ python3 glob_question.py

dir/file*.txt
dir/file1.txt
dir/file2.txt
dir/file?.txt
dir/file[.txt
dir/filea.txt
dir/fileb.txt

Диапазоны символов

Используйте диапазон символов ( [a-z] ) вместо вопросительного знака, чтобы соответствовать одному из нескольких символов. В этом примере выполняется поиск всех файлов с цифрой в имени перед расширением.

glob_charrange.py

import glob
for name in sorted(glob.glob('dir/*[0-9].*')):
    print(name)

Диапазон символов [0-9] соответствует любой отдельной цифре. Диапазон упорядочен на основе кода символа для каждой буквы/цифры, а тире указывает на непрерывный диапазон последовательных символов. То же значение диапазона можно записать как [0123456789] .

$ python3 glob_charrange.py

dir/file1.txt
dir/file2.txt

Экранирование мета-символов

Иногда необходимо искать файлы с именами, содержащими специальные метасимволы, которые glob использует для своих шаблонов. Функция escape () создает подходящий шаблон со специальными символами, «экранированными», поэтому они не раскрываются или не интерпретируются как специальные с помощью glob .

glob_escape.py

import glob

specials  '?*['

for char in specials:
    pattern  'dir/*' + glob.escape(char) + '.txt'
    print('Searching for: {!r}'.format(pattern))
    for name in sorted(glob.glob(pattern)):
        print(name)
    print()

Каждый специальный символ экранируется путем создания диапазона символов, содержащего одну запись.

$ python3 glob_escape.py

Searching for: 'dir/*[?].txt'
dir/file?.txt

Searching for: 'dir/*[*].txt'
dir/file*.txt

Searching for: 'dir/*[[].txt'
dir/file[.txt

Смотрите также

  • стандартная библиотека документации для glob
  • Нотация сопоставления с образцом – объяснение подстановки из спецификации языка команд оболочки Open Group.
  • fnmatch – реализация сопоставления имен файлов.
  • Заметки о переносе Python 2 на 3 для glob

Понравилась статья? Поделить с друзьями:
  • Как найти корабль в эндер мире locate
  • Как найти настоящего пла
  • Как найти плотность кривой
  • Как найти радиус сферический сегмент
  • Как найти все неотрицательные решения уравнения