Por que colchetes em um grep
padrão removem o processo grep dos ps
resultados?
$ ps -ef | grep XXXX
[...] XXXX
[...] grep XXXX
$ ps -ef | grep [X]XXX
[...] XXXX
command-line
grep
ps
Gilles 'SO- parar de ser mau'
fonte
fonte
Respostas:
Quando você executa
ps -ef | grep string
, grep é exibido na saída porquestring
corresponde[...] grep string
.Mas quando você executa
ps -ef | grep [s]tring
a linha não é exibida, porque grep se traduz[s]tring
emstring
, enquanto ps é gerado[...] grep [s]tring
, e isso não correspondestring
fonte
[]
representa qualquer um dos caracteres entre colchetes dos quais, neste caso "s" é o único ...Como os colchetes precisam ser escapados, para o bash uma vez e para o grep novamente:
fonte