Beiträge von maik3531 im Thema „Befehle für den Terminle“

    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

    1. Einfache Zahlenfolge: echo {1..10} gibt 1 2 3 4 5 6 7 8 9 10.
    2. Umgekehrte Zahlenfolge: echo {7..1} gibt 7 6 5 4 3 2 1.
    3. Führende Nullen: echo {01..10} gibt 01 02 03 ... 10.
    4. 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