Quando è utile usare "grep - SOMEPATTERN"?


8

Sotto Linux / AIX dove mai, quando è utile usarlo --, come in questo comando:

grep -- SOMEPATTERN

Risposte:


18

Quando "SOMEPATTERN" si avvia o può iniziare (ad esempio se si tratta di una variabile come la "$PATTERN"quale non si ha il controllo completo) con un carattere -(trattino).

Anche con GNU grep (a meno che non $POSIXLY_CORRECTsia attivo ), è utile che altri argomenti (nomi di file) possano iniziare con -.

In alternativa, puoi farlo

grep -e -SOMEPATTERN- -- file1 file2 -xxx-

--segna la fine delle opzioni. È utile ovunque dove argomenti non opzionali possono iniziare con a dashe non fa male, quindi è una buona abitudine usarlo.


8

Quando il modello inizia con un trattino, altrimenti grep penserà che sia un'opzione. Supponiamo che tu stia cercando "-a" in un testo:

grep -a file.txt

grep tenterà quindi di trovare il modello "file.txt" nell'input standard, usando l'opzione -a. Pertanto, è necessario fare

grep -- -a file.txt

3
Questo non vale solo per grep.
Bernhard,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.