grep - чому дужки у схемі grep видаляють процес grep з результатів ps?


12

Чому дужки у grepшаблоні знімають процес грепування з psрезультатів?

$ ps -ef | grep XXXX

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


$ ps -ef | grep [X]XXX

[...] XXXX

2
Це чудова маленька хитрість, в першу чергу!
Кевін Канту

Подальші відповіді на це питання наведено тут unix.stackexchange.com/questions/78771/…
erch

Відповіді:


20

Під час запуску ps -ef | grep string, grep відображається у висновку, оскільки stringвідповідає [...] grep string.

Але, при запуску ps -ef | grep [s]tringлінії не відображається, так як Grep Зрушення [s]tringдо string, в той час як пс виходи [...] grep [s]tring, і що не відповідаєstring


1
... тому що []представляє будь-який з набору символів, що в дужках, у цьому випадку "s" є єдиним ...
Призупинено до подальшого повідомлення.

так ... У мене справді виникли проблеми, намагаючись пояснити це англійською мовою ... це не моя перша мова :)
Стефан

2

Оскільки дужки потрібно уникати, для удару один раз і для грепу знову:

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

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


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

[...] XXXX
[...] grep XXXX
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.