2014-01-21 1 views
1

ps에서 출력을 저장하고 나중에 비교하려고합니다.
나는 다음과 같은 라인을 사용하고 있습니다 : 내가 변수가 숫자 앞에 탭이 발견 출력을 비교하기 위해 노력
ps -ef | wc -l은 줄의 맨 앞에 탭을 추가합니다.

siteminder_running=`ps -ef | grep $iplanet_home | grep LLAWP | wc -l` 

.

-  0- value 

어떤 문제가 될 수 :

출력입니까?

+4

나는 문제가 무엇인지 모르겠지만, 아마도'wc'을 제거함으로써 우회 할 수 있습니다 : grep LLAWP | wc -l'을'grep -c LLAWP'로 바꾸십시오. – ruakh

+2

이것은 무엇의 출력입니까? 출력을 생성하는 정확한 명령을 표시하려면 질문을 업데이트하십시오. –

답변

0

대부분의 Unix 및 GNU/Linux 릴리스에서 제공되는 wc (1) 유틸리티는 사용자 터미널 입력 파일 이름 및 TAB로 구분 된 줄 수/문자 수/인쇄 요청 수에 인쇄합니다.

표준 입력의 경우 입력 파일 이름이 없으므로 count 앞에 TAB이 표시됩니다.

ps -ef | grep $iplanet_home | grep LLAWP | wc -l | awk '{ printf "%d\n", $0 }' 
printf $(ps -ef | grep $iplanet_home | grep LLAWP | wc -l) 
ps -ef | grep $iplanet_home | grep LLAWP | wc -l | sed -e 's/^[ \t]*//' 

으로이 달성 수십 가지 방법은 말 그대로있다,이 그냥 예입니다 말했다

예를 들어,이 문제를 회피하는 방법은 여러 가지가 있습니다. ruakh 지적

+1

그리고 위의 그의 코멘트에서 지적한 바와 같이 ruakh으로 가장 효율적인 방법은'... | grep -c LLAWP'. 모두에게 행운을 빕니다. – shellter

1

처럼 그냥 일반적으로 공백을 고정 grep -c

siteminder_running=`ps -ef | grep $iplanet_home | grep -c LLAWP` 

을 사용할 수 있습니다,이 같은 xargs echo를 사용

siteminder_running=`ps -ef | grep $iplanet_home | grep LLAWP | wc -l | xargs echo` 
관련 문제