Brace expansion - это встроенная фича, которая позволяет генерировать списки прямо в командной строке. Работает быстро, читаемо и без лишних for.
▪️ Диапазоны чисел
echo {1..5}
1 2 3 4 5
С шагом:
echo {1..10..2}
1 3 5 7 9
▪️ Диапазоны букв
echo {a..e}
a b c d e
▪️ Массовое создание файлов
touch file_{1..5}.txt
Создаст:
file_1.txt
file_2.txt
...
▪️ Создание каталогов
mkdir -p project/{src,bin,config,logs}
Результат:
project/src
project/bin
project/config
project/logs
▪️ Комбинирование
echo {dev,prod}_{1..3}
dev_1 dev_2 dev_3 prod_1 prod_2 prod_3
▪️ Практика: быстрые шаблоны. Создать структуру окружений
mkdir -p env/{dev,stage,prod}/{logs,tmp,data}
Создать пачку логов
touch log_{2024..2026}_{01..12}.log
Удаление группы файлов
rm file_{1..10}.txt
⚠️ Важный момент. Brace expansion происходит до выполнения команды. Это не цикл и не glob. Например:
echo file_{1..3}.txt
сначала превращается в:
echo file_1.txt file_2.txt file_3.txt
BashTex 📱 #bash #utils