BASH: Как избежать отображения последней строки в grep?

Я анализирую некоторую информацию из процесса ps -ef |grep, но он всегда отображает в выводе grep последнюю строку, которая является самой grep. Как я могу получить вывод grep без последней строки? Вывод выглядит так:

root@itaig-lt:~# ps -ef |grep gnome-terminal
itaig     3307  2306  0 09:37 ?        00:00:00 /bin/sh -c gnome-terminal
itaig     3308  3307  0 09:37 ?        00:01:58 gnome-terminal
root      7055  5047  0 13:37 pts/10   00:00:00 grep --color=auto gnome-terminal
root@itaig-lt:~#

person Itai Ganot    schedule 24.06.2013    source источник


Ответы (2)


Вы можете сделать две вещи:

Grep, исключающий сам grep:

ps -ef |grep gnome-terminal | grep -v grep

или добавьте строковое условие, которое не соответствует этому grep (см. объяснение):

ps -ef |grep [g]nome-terminal
person fedorqui 'SO stop harming'    schedule 24.06.2013
comment
Почему я не подумал об этом? grep -v grep будет достаточно! Спасибо - person Itai Ganot; 24.06.2013

Попробуйте найти что-то, что не будет соответствовать командной строке grep:

ps -ef | grep [g]nome-terminal
person l0b0    schedule 24.06.2013