Wann ist es sinnvoll, "grep - SOMEPATTERN" zu verwenden?


8

Wo immer, wann ist es unter Linux / AIX sinnvoll --, wie in diesem Befehl zu verwenden:

grep -- SOMEPATTERN

Antworten:


18

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.


8

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

3
Dies gilt nicht nur für grep.
Bernhard
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.