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

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

 $ ps -ef | grep XXXX [...] XXXX [...] grep XXXX $ ps -ef | grep [X]XXX [...] XXXX 

3 Solutions collect form web for “grep – почему скобки в шаблоне grep удаляют процесс grep из результатов ps?”

Когда вы запускаете ps -ef | grep string ps -ef | grep string , grep отображается на выходе, потому что string соответствует [...] grep string .

Но когда вы запускаете ps -ef | grep [s]tring ps -ef | grep [s]tring строка не отображается, потому что grep переводит [s]tring в string , а ps выводит [...] grep [s]tring и не соответствует string

Поскольку скобки должны быть экранированы, для bash один раз и для grep снова:

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

Несмотря на то, что ответ на это заключается в « сопоставлении шаблонов классов grep »; Я не мог понять, как это переводится, чтобы не показывать скобки в результатах в манекене. Итак, вот верная причина, которая работает для меня:

Это потому, что ввод команды как
(1) ps -eaf | grep [b]aka
будет выполняться программой оболочки внутри, расширяя регулярное выражение и, таким образом, эквивалентно запуску следующего
(2) ps -eaf | grep "aka\|baka"

Теперь, потому что команда ввода (1) содержит символы квадратной скобки «[]» (буквально – не так называемые регулярные выражения), но выполненная команда (2) не ищет этого, следовательно (1) не отображается в результаты строк, содержащих « aka » | « бака ».

Подумайте, прежде чем вы уменьшите этот фасад ответа minasama

  • Скрипт для обеспечения работы только одного экземпляра Oracle
  • В чем смысл «\ _» в выводе «ps ef»?
  • AIX, почему ps показывает имя процесса между квадратными скобками?
  • Есть ли способ скрыть потоки ядра из результатов команды ps?
  • Пожалуйста, объясните этот вывод команды ps -ef?
  • Перечислите процессы суперпользователя
  • Список услуг с номерами портов
  • Почему я не могу использовать весь 100% -ный потенциал процессора?
  • Как найти PID конкретной программы?
  • Выводит ли вывод pgrep параметры, предоставленные процессу?
  • Асимметричная сессия ESTABLISHED в netstat
  • Linux и Unix - лучшая ОС в мире.