grep - por que os colchetes no padrão grep removem o processo grep dos resultados do ps?


Respostas:


20

Quando você executa ps -ef | grep string, grep é exibido na saída porque stringcorresponde [...] grep string.

Mas quando você executa ps -ef | grep [s]tringa linha não é exibida, porque grep se traduz [s]tringem string, enquanto ps é gerado [...] grep [s]tring, e isso não correspondestring


1
... porque []representa qualquer um dos caracteres entre colchetes dos quais, neste caso "s" é o único ...
Pausado até novo aviso.

sim ... Eu realmente tive problemas para tentar explicar este em Inglês ... não é minha primeira língua :)
Stefan

2

Como os colchetes precisam ser escapados, para o bash uma vez e para o grep novamente:

$ ps -ef | grep \\[X\\]XXX

[...] XXXX
[...] grep XXXX


$ ps -ef | grep "\[X\]XXX"

[...] XXXX
[...] grep XXXX
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.