Понимание шаблонов Glob
Шаблоны glob - это простой, но мощный способ сопоставления имен файлов и путей с использованием символов-заменителей. Они обычно используются в интерфейсах командной строки и языках программирования для указания наборов имен файлов или директорий. Вот разбор наиболее часто используемых шаблонов glob:
Базовые шаблоны-заменители
Заголовок раздела «Базовые шаблоны-заменители»-
*
: Сопоставляется с любым количеством символов, включая нулевое количество символов.- Пример:
*.txt
сопоставляется со всеми файлами, оканчивающимися на.txt
.
- Пример:
-
?
: Сопоставляется ровно с одним символом.- Пример:
file?.txt
сопоставляется сfile1.txt
,fileA.txt
, но не сfile10.txt
.
- Пример:
-
[]
: Сопоставляется с любым из заключенных внутри скобок символов.- Пример:
file[1-3].txt
сопоставляется сfile1.txt
,file2.txt
,file3.txt
.
- Пример:
-
[!]
или[^]
: Сопоставляется с любым символом, не заключенным внутри скобок.- Пример:
file[!1-3].txt
сопоставляется сfile4.txt
,fileA.txt
, но не сfile1.txt
.
- Пример:
Расширенные шаблоны
Заголовок раздела «Расширенные шаблоны»-
**
: Сопоставляется с любым количеством директорий и поддиректорий рекурсивно.- Пример:
**/*.txt
сопоставляется со всеми файлами.txt
в текущей директории и всех поддиректориях.
- Пример:
-
{}
: Сопоставляется с любым из шаблонов, перечисленных через запятую внутри скобок.- Пример:
file{1,2,3}.txt
сопоставляется сfile1.txt
,file2.txt
,file3.txt
.
- Пример:
Примеры
Заголовок раздела «Примеры»-
Сопоставление всех текстовых файлов в директории:
Окно терминала *.txt -
Сопоставление всех файлов с одним цифровым символом перед расширением:
Окно терминала file?.txt -
Сопоставление файлов с расширениями
.jpg
или.png
:Окно терминала *.{jpg,png} -
Сопоставление всех файлов
.txt
в любой поддиректории:Окно терминала **/*.txt -
Сопоставление файлов, начинающихся с
a
илиb
и оканчивающихся на.txt
:Окно терминала {a,b}*.txt
Варианты использования
Заголовок раздела «Варианты использования»- Инструменты командной строки: Шаблоны glob широко используются в инструментах командной строки, таких как
ls
,cp
,mv
иrm
, для указания нескольких файлов или директорий. - Языки программирования: Языки, такие как Python, JavaScript и Ruby, поддерживают шаблоны glob для сопоставления файлов через библиотеки, такие как
glob
в Python. - Системы сборки: Инструменты, такие как Makefile, используют шаблоны glob для указания исходных файлов и зависимостей.
Заключение
Заголовок раздела «Заключение»Шаблоны glob обеспечивают гибкий и интуитивный способ сопоставления имен файлов и путей, что делает их незаменимыми для задач сценариев, автоматизации и управления файлами. Понимание и использование этих шаблонов может существенно повысить вашу производительность и эффективность при работе с файлами и директориями.
Эта страница была автоматически переведена для вашего удобства. Обратитесь к английской версии для получения оригинального содержания.