Quando é útil usar "grep - SOMEPATTERN"?


8

No Linux / AIX, onde quer que seja, quando é útil usá-lo --, como neste comando:

grep -- SOMEPATTERN

Respostas:


18

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_CORRECTesteja 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 dashe não prejudicam, por isso é um bom hábito usá-la.


8

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

3
Isso não serve apenas para grep.
11242 Bernhard
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.