grep - perché le parentesi nel modello grep rimuovono il processo grep dai risultati ps?


Risposte:


20

Quando si esegue ps -ef | grep string, grep viene visualizzato nell'output perché stringcorrisponde [...] grep string.

Ma quando si esegue ps -ef | grep [s]tringla linea non viene visualizzata, perché grep si traduce [s]tringin string, mentre ps viene emesso [...] grep [s]tringe questo non corrispondestring


1
... perché []rappresenta uno qualsiasi dei set di caratteri tra parentesi, in questo caso "s" è l'unico ...
Messo in pausa fino a nuovo avviso.

sì ... ho davvero avuto difficoltà a spiegare questo in inglese ... non è la mia prima lingua :)
Stefan

2

Poiché le parentesi devono essere sfuggite, per bash una volta e per grep di nuovo:

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

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


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

[...] XXXX
[...] grep XXXX
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.