Wo immer, wann ist es unter Linux / AIX sinnvoll --
, wie in diesem Befehl zu verwenden:
grep -- SOMEPATTERN
Wo immer, wann ist es unter Linux / AIX sinnvoll --
, wie in diesem Befehl zu verwenden:
grep -- SOMEPATTERN
Antworten:
Wenn "SOMEPATTERN" mit einem (Bindestrich-) Zeichen startet oder möglicherweise startet (z. B. wenn es sich um eine Variable handelt, auf "$PATTERN"
die Sie nicht die volle Kontrolle haben -
).
Auch bei GNU grep (sofern nicht aktiviert $POSIXLY_CORRECT
) ist es hilfreich, wenn andere Argumente (Dateinamen) damit beginnen -
.
Alternativ können Sie tun
grep -e -SOMEPATTERN- -- file1 file2 -xxx-
--
markiert das Ende der Optionen. Es ist überall dort nützlich, wo Argumente ohne Option mit einem beginnen können dash
, und es schadet nicht, daher ist es eine gute Angewohnheit, es zu verwenden.
Wenn das Muster mit einem Bindestrich beginnt, wird grep andernfalls denken, dass dies eine Option ist. Angenommen, Sie suchen in einem Text nach "-a":
grep -a file.txt
grep versucht dann mit der Option, das Muster "file.txt" in der Standardeingabe zu finden -a
. Deshalb müssen Sie tun
grep -- -a file.txt
grep
.