No Linux / AIX, onde quer que seja, quando é útil usá-lo --
, como neste comando:
grep -- SOMEPATTERN
No Linux / AIX, onde quer que seja, quando é útil usá-lo --
, como neste comando:
grep -- SOMEPATTERN
Respostas:
Quando "SOMEPATTERN" inicia ou pode começar (por exemplo, se for uma variável como a "$PATTERN"
qual você não tem controle total) com um -
caractere (traço).
Também com o GNU grep (a menos que $POSIXLY_CORRECT
esteja ativado ), é útil se outros argumentos (nomes de arquivos) começarem -
.
Como alternativa, você pode fazer
grep -e -SOMEPATTERN- -- file1 file2 -xxx-
--
marca o final das opções. É útil em qualquer lugar em que argumentos que não sejam de opção podem começar com a dash
e não prejudicam, por isso é um bom hábito usá-la.
Quando o padrão começa com um traço, caso contrário, o grep pensará que é uma opção. Diga que você está procurando "-a" em um texto:
grep -a file.txt
grep, então, tentar encontrar o padrão "file.txt" na entrada padrão, usando a opção -a
. Portanto, você precisa fazer
grep -- -a file.txt
grep
.