Brace Expansion
Brace Expansion ist ein Mechanismus um beliebige Zeichenketten zu erzeugen, die sich ein gemeinsames Präfix und/oder Suffix teilen. Das ist möglich über Aufzählungen oder Sequenzen. Hört sich kompliziert an? Ist es aber nicht, wie Beispiele zeigen.
Aufzählungen und Sequenzen werden innerhalb geschweifter Klammern definiert.
Aufzählungen
Die Elemente der Aufzählung werden durch Kommata getrennt.
Beispiele:
echo Narr{i,o} —> Narri Narro
Verzeichnisstruktur anlegen
mkdir -p album/cd{1,2,3} —> album/cd 1 album/cd2 album/cd3
Sicherungskopie einer Datei anlegen (beachte: leere Aufzählungselemente sind zulässig)
cp /path/to/file{,.sik} —> cp /path/to/file /path/to/file.sik
Sequenzen
Startwert, Endwert und ggf. Inkrement werden durch zwei Punkte getrennt: {x..y[..incr]}.
Beispiele
Lege einen Ordner für jeden Tag des Monats Juli an:
mkdir 2026-07-{1..31}
Tag mit führenden Nullen
mkdir 2026-07-{01..31}
Countdown
for i in {10..00}; do echo "$i"; sleep 1; done
7er-Reihe
echo sieben_{00..70..7}
Anmerkungen
Brace expansions können mehrstufig sein:
echo movie_S{01..03}E{01..04}
Die zweite Expansion wird für jedes Ergebnis der ersten Expansion durchgeführt.
Auch Schachtelungen sind möglich.
Sequenzen können auch aus einzelnen Buchstaben geformt werden:
echo Beispiel_{a..f}
Und wie immer gilt: Weiteres ist der man-Page zu bash zu entnehmen. Suche nach Brace Expansion.