Hoffe es passt hier gut rein, sonst bitte Verschieben.
Anleitung zur Verwendung von Brace Expansion in der Bash-Shell
Einführung
Brace Expansion {..} ist eine nützliche, aber oft übersehene Funktion in der Bash-Shell von Linux. Mit dieser Funktion können Sie Sequenzen von Zahlen oder Buchstaben erstellen und damit Ihren Befehlszeilenprozess optimieren.
Grundlagen
- Um eine einfache Sequenz von Zahlen zu erstellen, verwenden Sie den Befehl echo {1..10}.
- Das Ergebnis wird in der gleichen Zeile mit einem Leerzeichen zwischen den Zahlen angezeigt.
Beispiele
- Einfache Zahlenfolge: echo {1..10} gibt 1 2 3 4 5 6 7 8 9 10.
- Umgekehrte Zahlenfolge: echo {7..1} gibt 7 6 5 4 3 2 1.
- Führende Nullen: echo {01..10} gibt 01 02 03 ... 10.
- Schrittweise Zahlen: echo {0..15..2} gibt 0 2 4 6 ... 14.
Verwendung von Buchstaben
Sie können auch Sequenzen von Buchstaben erstellen:
- Einfache Buchstabenfolge: echo {A..H} gibt A B C D E F G H.
- Umgekehrte Buchstabenfolge: echo {H..A} gibt H G F E D C B A.
Praktische Anwendungen
Dateioperationen
- Erstellen mehrerer Dateien: touch file_{1..10}.txt erstellt 10 Dateien mit dem Muster file_1.txt bis file_10.txt.
- Backup-Dateien: cp -p long_filename.txt{,.bak} erstellt eine Sicherungskopie von long_filename.txt als long_filename.txt.bak.
Erweiterte Anwendungen
- Mehrere Dateierweiterungen: touch {a,b,c}.{hpp,cpp} erstellt Dateien mit den Erweiterungen .hpp und .cpp.
Pfade
- Verschieben von Ordnern: mv project/{new,old}/dir/file entspricht mv project/new/dir/file project/old/dir/file.
Einschränkungen
- Keine Leerzeichen zwischen den Punkten: {1..Z} und {1..5..0.5} sind nicht zulässig.
- Nicht alle Kombinationen sind möglich und können zu unerwarteten Ergebnissen führen.
Fazit
Brace Expansion ist ein mächtiges Werkzeug, das Ihre Linux-Befehlszeilenfähigkeiten erweitern kann. Mit ein wenig Übung werden Sie feststellen, wie nützlich und zeitsparend diese Funktion sein kann. Versuchen Sie, es in Ihren täglichen Shell-Skripten zu integrieren, um Ihre Effizienz zu steigern.
Darauf bin ich durch ein Artikel Kopieren für Schreibfaule gestoßen und fand es gut erklärt.
Etwas ausführlicher aber in englisch unter https://linuxhandbook.com/brace-expansion