Данный модуль посвещено глоббингу (globbing) в Linux - механизму командной оболочки bash, который позволяет выбирать группы файлов или каталогов по шаблону Даже пройдя всего несколько уровней, Вы уже могли устать каждый раз полностью прописывать все эти пути к файлам, время это автоматизировать. Давайте разберемся как это работает.
Когда вы вводите команду со спецсимволами (джокерами), оболочка сама находит все подходящие имена файлов и подставляет их в команду перед её выполнением.
Основные символы глоббинга:
* (звездочка) — любое количество любых символов (включая ноль).
Пример: ls *.jpg — покажет все файлы с расширением .jpg
? (вопросительный знак) — строго один любой символ.
Пример: ls file?.txt — найдет file1.txt, но не file12.txt
[ ] (квадратные скобки) — один символ из указанного набора или диапазона.
Пример: ls [a-c]* — файлы, начинающиеся на a, b или c.ls [!0-9]* — файлы, которые не начинаются с цифры
{ } (фигурные скобки) — перечисление вариантов (строго говоря, это brace expansion, но часто используется вместе с глоббингом).
Пример: cp {file1,file2}.txt backup/ — скопирует оба файла
Важные особенности:
Скрытые файлы: По умолчанию * не находит файлы, начинающиеся с точки (например, .bashrc). Для их поиска нужно явно указывать точку в начале: ls .*.Пустые совпадения: Если ни один файл не подходит под шаблон, bash по умолчанию передаст команде сам шаблон как строку (например, ls *.abc выдаст ошибку, что файл *.abc не найден).ПРИМЕЧАНИЕ:
Раздел, посвящённый расширениям оболочки в справочном руководстве по bash, может оказаться весьма полезным.
Давайте закрепим и углубим знания на практике.