grep: ¿por qué los corchetes en el patrón grep eliminan el proceso grep de los resultados ps?


Respuestas:


20

Cuando ejecuta ps -ef | grep string, grep se muestra en la salida porque stringcoincide [...] grep string.

Pero, cuando ejecuta ps -ef | grep [s]tringla línea no se muestra, porque grep se traduce [s]tringen string, mientras que las salidas ps [...] grep [s]tring, y eso no coincidestring


1
... porque []representa cualquiera de los caracteres dentro de los corchetes de los cuales, en este caso, "s" es el único ...
Pausado hasta nuevo aviso.

sí ... Realmente tuve problemas para tratar de explicar esto en inglés ... no es mi primer idioma :)
Stefan

2

Debido a que los corchetes deben escaparse, para bash una vez y para grep nuevamente:

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

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


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

[...] XXXX
[...] grep XXXX
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.