2012-12-10 3 views
0

에서 OS 및 브라우저 정보 추출 다음과 같은 사용자 에이전트 정보가 로그 파일에 있습니다.쉘 스크립트 (AIX) : 사용자 에이전트 문자열

Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0) 
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C) 
Mozilla/5.0 (Windows NT 6.0) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11) 
Mozilla/5.0 (iPad; CPU OS 5_1_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B206 Safari/7534.48.3) 
Mozilla/5.0 (Windows NT 6.1; rv:16.0) Gecko/20100101 Firefox/16.0) 
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.28) Gecko/20120306 Firefox/3.6.28 

각 사용자 에이전트에서 OS 및 브라우저 정보를 얻고 싶습니다. 쉘 스크립트 (AIX)에서 어떻게 이것을 할 수 있는지 제안 해주십시오.

답변

1

사용 case :

case $user_agent in 
    *MSIE*) browser=MSIE ;; 
    *Chrome*) browser=Chrome ;; 
    .... 
    *) echo "Cannot extract browser from [[$user_agent]]" >2 ;; 
esac 
case $user_agent in 
    *Windows*) plarform=Windows ;; 
    *Linux*) platform=Linux ;; 
    .... 
    *) echo "Cannot extract platform from [[$user_agent]]" >2 ;; 
esac 

당신은 다양한 브라우저에 대한 사례를 추가하는 몇 가지 반복 작업을해야합니다 (이 더 균일 성이 없다).

+0

고마워요. 나는 AIX를 사용하고 스크립트 파일에 #!/bin/bash를 가지고있다. 그것은 여분의 ')'기호를 쓰는 구문 오류를 throw합니다. 다른 구문도 시도했습니다. 아무것도 작동하는 것 같지 않습니다. 어떤 제안이라도 바랍니다 ?? – user1746666

+0

여분의 ")"또는 누락 된 ";;"을 검색하십시오. 절을 분리하려면 절을 제거하십시오. 다른 모든 방법이 실패하면 스크립트를 별도의 질문에 게시하십시오. – sds

+0

감사합니다. awk 스크립트와 함께 사용하려고했습니다. 그게 뭐가 잘못 됐는지 모르겠다. 루프를 수행하는 동안 코드를 변경했습니다. 이제 괜찮아. – user1746666

관련 문제