2011-10-01 6 views
-2

우분투에서 service --status-all | grep "firestarter"을 실행하면 "firestarter"텍스트가 빨간색으로 강조 표시된 service --status-all의 전체 출력을 표시합니다. grep에게 일치하는 텍스트가 포함 된 줄만 표시하고 다른 모든 내용을 숨기려면 어떻게합니까?Grep에서 일치하지 않는 행을 표시하지 않음

+3

[Unix/Linux] (http://unix.stackexchange.com/)에 대한 질문 - –

+0

LOL !! @Cerin - http://blog.stackoverflow.com/2008/12/vote-fraud-and-you/ –

답변

3

아마도 service --status-all은 stdout이 아닌 stderr에 씁니까? 그런 다음 별칭을 사용하지 않으려면

service --status-all 2>&1 | grep firestarter 
+0

좋은 대답입니다. 빨간색으로 표시하려면 --color를 추가하십시오 :'service --status-all 2> & 1 | grep sudo --color' –

+0

'service'는'[20:51 root @ host ~]처럼 stderr에 에러를 기록합니다. $ service --status-all | grep httpd PID 파일을 열지 못했습니다 : Permission denied', 모든 정규 출력은 stdout으로 이동합니다. – chown

+0

@chown 어떤 OS입니까? 나는 우분투를 가지고 있으며 완벽하게 작동한다. –

2

이상한 환경 변수가 설정되어 있어야합니다.

service --status-all | /bin/grep firestarter 

을 그래서 우리는 당신의 grep 명령을 사용하여 무슨 잘못을 볼 수 있습니다 가능하면 envalias의 출력을 보여줍니다

service --status-all | `which grep` firestarter 

또는를이를보십시오.

[ 13:55 [email protected] ~ ]$ echo $GREP_OPTIONS 
--color=always 

당신은 아마 무언가가 설정되어, 및/또는 GREP_COLOR이 원인이되는 :


은 나를 위해, 내가있다.

1

을 사용할 수 있지만 원본 명령은 "\ cmd"를 시도해 볼 수 있습니다. 예 :

service --status-all | \grep "firestarter" 
관련 문제