TGViewer
🐧 Linux Junior. Программирование под Linux. 🐧 Linux Junior. Программирование под Linux. @juniorlinux · 3.08K subscribers
Post #514 1.53K
🔥 Расширение фигурных скобок (brace expansion)

Фигурные скобки {} в Bash позволяют разворачивать выражения в последовательность аргументов.

Простой пример:
echo {1..10}
# 1 2 3 4 5 6 7 8 9 10


Можно в обратную сторону:
echo {10..1}
# 10 9 8 7 6 5 4 3 2 1


⚙️ Шаг в диапазоне

Третий параметр задаёт шаг:
echo {1..501..100}
# 1 101 201 301 401 501


Можно и в обратную сторону:
echo {501..1..100}
# 501 401 301 201 101 1


⚙️ Последовательности букв

В отличие от seq, фигурные скобки умеют работать с буквами:
echo {A..P}
# A B C D E F G H I J K L M N O P


Шаг тоже поддерживается:
echo {A..P..2}
# A C E G I K M O


⚙️ Перечисления и практические приёмы

Создать сразу несколько директорий:
mkdir ~/Sources/{test1,test2,test3}


Сравнить оригинал и патч одной командой:
diff {orig,patched}/path/to/prog.c


Сделать бэкап файла:
cp -p file.txt{,.bak}
# создаст file.txt и file.txt.bak

💡 Если перед запятой ничего нет, Bash просто подставляет существующее значение.

⚠️ Важно: пробелы внутри {} ломают расширение!
echo file{1.. 2}.txt  # не сработает


⚙️ Форматирование вывода

Можно убрать пробелы из вывода, передав вывод в tr:
echo {A..P..2} | tr -d " "
# ACEGIKMO


Создадим псевдоним для получения n-й буквы алфавита:
alias nth="echo {A..Z} | tr -d ' ' | cut -c"
nth 10
# J


⚙️ {} vs []

Квадратные скобки [] — это сопоставление с шаблоном имён файлов, а фигурные {} — просто генерация последовательности.

ls file[1-9].txt
# отберёт существующие файлы


ls file{1..9}.txt
# попытается вывести все файлы последовательности, даже если их нет


⚙️ Группировка и вложенность

Комбинация наборов:
touch {a,b,c}.{hpp,cpp}
# создаст a.cpp a.hpp b.cpp b.hpp c.cpp c.hpp


Вложенные расширения:
mkdir -p {source,help{/pages,/yelp,/images}}


Структура получится такая:
.
├── help
│ ├── images
│ ├── pages
│ └── yelp
└── source
  • 👍 9
  • 🔥 5
  • 😱 1
More from @juniorlinux
  1. Sep 28, 2026⚙️ Как устроена автоматизация задач через cron в Linux Если вам нужно регулярное выполнени…
  2. Sep 22, 2026По умолчанию rsync только добавляет и обновляет файлы, но не трогает то, что было удалено…
  3. Sep 22, 2026❓ Как удалить на приемнике файлы, которых больше нет в источнике, при синхронизации через…
  4. Sep 16, 2026Post #589
  5. Sep 10, 2026Как распаковать .tar.gz, .tar.bz2, .tar.xz и .tar.zst в Linux Для работы с архивами в Linu…
  6. Sep 4, 2026Посмотреть очередь задач, созданных через at, можно командой atq (или at -l). Она выведет…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →