<Poprzedni | Spis treści | Następne>
Negacja
Jeśli pierwszy znak w wyrażeniu w nawiasie kwadratowym to karetka (^), pozostałe znaki są traktowane jako zestaw znaków, które nie mogą być obecne na danej pozycji znaku. Robimy to, modyfikując nasz poprzedni przykład:
[ja@linuxbox ~]$ grep -h '[^bg]zip' dirlist*.txt
bunzip2
[ja@linuxbox ~]$ grep -h '[^bg]zip' dirlist*.txt
bunzip2
gunzip funzip gpg-zip preunzip prezip
prezip-bin rozpakuj unzipsfx
gunzip funzip gpg-zip preunzip prezip
prezip-bin rozpakuj unzipsfx
Po włączeniu negacji otrzymujemy listę plików zawierających ciąg „zip” poprzedzony dowolnym znakiem oprócz „b” lub „g”. Zauważ, że plik zamek błyskawiczny nie znaleziono. Zanegowany zestaw znaków nadal wymaga znaku na danej pozycji, ale znak nie może być członkiem zanegowanego zestawu.
Znak karetki wywołuje negację tylko wtedy, gdy jest pierwszym znakiem w wyrażeniu w nawiasie; w przeciwnym razie traci swoje szczególne znaczenie i staje się zwyczajną postacią w zestawie.