Zum Inhalt springen

Bash/Extglob: Unterschied zwischen den Versionen

Aus Foxwiki
Zeile 9: Zeile 9:
! Muster !! Beschreibung
! Muster !! Beschreibung
|-
|-
| *(Muster-Liste) || Kein oder ein Auftreten eines Musters
| *(Muster) || Kein oder ein Auftreten eines Musters
|-
|-
| *(Muster-Liste) || Kein oder mehrere Auftreten eines Musters
| *(Muster) || Kein oder mehrere Auftreten eines Musters
|-
|-
| +(Muster-Liste) || Ein oder mehrere Auftreten eines Musters
| +(Muster) || Ein oder mehrere Auftreten eines Musters
|-
|-
| @(Muster-Liste) || Genau ein Auftreten eines Musters
| @(Muster) || Genau ein Auftreten eines Musters
|-
|-
| !(Muster-Liste) || Alle außer den angegebenen Mustern  
| !(Muster) || Alle außer den angegebenen Mustern  
|}
|}



Version vom 11. Oktober 2025, 12:22 Uhr

Erweitertes Globbing (Extglob)

Die ksh88 führte zusätzlich die erweiterte Mustererkennung ein. Diese sind vergleichbar mit der Leistung Regulärer Ausdrücke, die Notation ist ähnlich, aber nicht gleich. Wenn die Shelloption extglob eingeschaltet ist, unterstützt auch die Bash diese Optionen.

Wenn möglich, sollte die erweiterte Mustererkennung regulären Ausdrücken vorgezogen werden, da diese effizienter und damit deutlich schneller ausgewertet werden können. Die Muster sind eine Liste von Zeichenketten, die durch | getrennt sind.

Das Zeichen vor der öffnenden Klammer reguliert die Auswertung des Musters:

Muster Beschreibung
*(Muster) Kein oder ein Auftreten eines Musters
*(Muster) Kein oder mehrere Auftreten eines Musters
+(Muster) Ein oder mehrere Auftreten eines Musters
@(Muster) Genau ein Auftreten eines Musters
!(Muster) Alle außer den angegebenen Mustern

Die erweiterte Mustererkennung kann mit Standard-Shell-Wildcards kombiniert und verschachtelt werden.