2013-08-16 3 views
0

안녕하세요 저는 egrep 내에서 사용자 정의 변수를 사용하는 방법 또는 조건을 알고 싶습니다.egrep 내에서 사용자 정의 변수를 사용하는 방법

아래 명령을 사용하면 결과가 필요합니다.

grep -w "Connect" audit.log.13766735635311490 | egrep 'USER=\"root\"|DB=\"CUST_PRESTIGEWW_DB\"' | wc -l 
24416 

는 지금은 아래의 수행과 같은 명령하지만 점점 다른 결과를 실행 한

DATABASE=CUST_PRESTIGEWW_DB 
grep -w "Connect" audit.log.13766735635311490 | egrep 'USER=\"root\"|DB=\"$DATABASE\"' | wc -l 
40 
grep -w "Connect" audit.log.13766735635311490 | egrep 'USER=\"root\"|DB=\""$DATABASE"\"' | wc -l 
40 
echo $DATABASE 
CUST_PRESTIGEWW_DB 

지금 변수 값을 변경하려고했지만 하나가 어떻게 도와 줄 수

DATABASE=`echo "\"CUST_PRESTIGEWW_DB\""` 
echo $DATABASE 
"CUST_PRESTIGEWW_DB" 
grep -w "Connect" audit.log.13766735635311490 | egrep 'USER=\"root\"|DB=$DATABASE' | wc -l 
grep -w "Connect" audit.log.13766735635311490 | egrep 'USER=\"root\"|DB='"$DATABASE" | wc -l 
119956 
grep -w "Connect" audit.log.13766735635311490 | egrep 'USER=\"root\"|DB="'$DATABASE'"' | wc -l 
114 

근무하지 그걸 할거야?

답변

1

사용 :

... egrep 'USER="root"|DB='"$DATABASE" ... 

당신은 떠들썩한 파티가 $DATABASE을 확장 할 수있는 단일 인용 부분을 닫아야합니다. 따옴표로 묶은 작은 따옴표로 큰 따옴표를 이스케이프 할 필요가 없습니다.

+0

질문을 수정하지 않았습니까? – vidyadhar

+0

로그 파일이 없어도 도움이되지 않습니다. – hek2mgl

관련 문제