반응형

흠...


어느날 갑자기...

Jennifer으로 떨어진 profile.txt 파일에서

특정 구문만을 분석할 일이 발생했따...

즉,

많이 호출되는 PKG의 ARGUMENT의 내용을 검색하고 싶어졌다

후후... 한 시간동안 대충 만든거라 수정이 필요하지만.

기록상 남겨둔다

예를들면...

stringAnalyzer.sh PKG_NUM.ALL profile.txt D 5

profile.txt 파일에서  PKG_NUM.ALL을 호출한 패키지의 아래의 5줄 사이에 param으로 뿌려진 결과를 출력함.

#!/bin/ksh

##############################################################################################################
#
# 문자열 분석 쉘
#
# 용도 : 제니퍼 로그에서 특정 구문의 호출되는 인자값을 찾기 위한 용도 (반복 패턴 및 호출되는 형태 분석을 위해)
#
#
#
#
##############################################################################################################


if [ $# -eq 0 ]; then
        echo ""
        echo "문자열 분석 쉘"
        echo "=================================================="
        echo "$0 FindText TargetFile Position Number "
        echo "=> FindText   : 찾으려는 문구를 입력함"
        echo "=> TargetFile : 대상 파일"
        echo "=> Position   : D(아래쪽)"
        echo "=> Number     : 아래의 몇줄 안에 param 구문 모두 출력"
        echo ""

else
  

        # 1. 해당 Argument 별로 유효한지 먼저 체크 필요
        # echo abc | tr "[a-z]" "[A-Z]" (대문자 변경  출력)


        # 1. 검색하려는 문자가 들어있는 열을 출력함.
        FindTxt=`grep -n $1 $2 | awk '{print $1}' | sed 's/://g'`

        # 2. 상향인지 하향인지 구분 변수
        UpDown=`echo $3 | tr "[a-z]" "[A-Z]"`

        echo "$2 File"
        echo "==============================="
        echo "File Text : $1"
        echo "======================================================================"
        echo ""
        for i in $FindTxt
        do
                #       echo "i : " $i
                #echo $UpDown
                GetRow=$i
                if [ $UpDown = "U" ]; then
                        GetRow=`expr $i - $4`
                elif [ $UpDown = "D" ]; then
                        GetRow=`expr $i + $4`
                else
                        GetRow=`expr $i`
                fi;

                j=0
                while [ $j -le $4 ]
                do
                        GetRow=`expr $i + $j`
                        ExistRow=`head -$GetRow $2 | tail -1 | grep param2: | grep -v grep | wc -l`

                        if [ $ExistRow -ne 0 ]; then
                                ViewRow=`head -$GetRow $2 | tail -1`
                                echo "$ViewRow"
                        fi;

                        j=`expr $j + 1`
                done
        done
fi

반응형

'Language' 카테고리의 다른 글

npm node module 공통 관리하기  (0) 2020.10.28
Inter-process communication  (0) 2014.03.27
우리은행 웹 접근성 가이드 주소  (0) 2011.08.09
빠른 수식 계산법  (0) 2010.03.01

+ Recent posts