Данный модуль посвещено глоббингу (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, может оказаться весьма полезным.
Давайте закрепим и углубим знания на практике.