[산이]님이 남기신 글:
>
>BASH 가 아니고 CSH 스크립트이네요..
>
>[안태술]님이 남기신 글:
>
>>-----------------------------------------
>>답변자가 기본적으로 참고할 내용입니다.
>>- 배포판(옵션) :
>>- 커널버전(옵션)
:
>>- 데몬버전(예:apache
1.3.27) :
>>- 데몬설치유형(RPM/컴파일/기타)
:
>>-----------------------------------------
>>전 쉘 초본데, 회사일하다가 bash 쉘 스크립을 처리하는 부분이
생겼어여..--;;;
>>다른 내용은 대충알겠는데, 다음과 같은 문장에서 leveㅣ값이
foreach구문에서 sfc값이 사라지고 1000부터 시작하네여.
얼케된건지...
>
>아래의 내용상으로는 sfc 부터 시작하는것이
맞습니다.
>
>>그리고 'set arec....' 이부분 해석좀 해주실수 있으면 정말
고맙겠습니다.
>
>그냥 단순이 arec 라는 변수에 오른쪽 값을 대입하는 것을
말합니다.
>
>>이한줄을 고쳐야 하는데 'awk'라는 것이 패턴 비교한다고
나오던데 나머지 옵들은 왜이렇게 많이 붙어 있는지...해석이
잘 안되네여..
>>답글좀 부탁합니다..
>
>아래의 스크립트를 실행하면 아무런 출력이 되질
않습니다.
>즉 awk 로 출력된 문자열을 arec 변수로 받기 때문이죠.
>또한 파일(${splt_name}_$vtime)에
아무런 수정도 가하지 않네요.
>
>${splt_name}_$vtime 이라는 파일을 한줄씩 읽어서
>각 한줄을 `:' 으로 구분했을 때 다섯번째($5) 문자열을
>다시 공백으로 나누어 그 첫번째(aa[1]) 가 $lev(csh 에서 받은것)
와
>같고 두번째(aa[2])가 `mb' 인 경우만 $1 을 arec 변수(정수형)로
계속
>설정하는 알고리즘입니다.
>
>초보자가 보기엔 좀 벅찬 스크립트 인것 같네요.
>
>아마 파일이 아래와 같은 패턴인것 같네요.
>
>11:..foo1...:...bar4...:..some4....:stc mb ...:...others6... // TRUE
>12:..foo2...:...bar4...:..some1....:700 mb ...:...others4... // TRUE
>24:..foo3...:...bar6...:..some8....:1000 ddd .:...others5... // FALSE
>
>>
>>set levels="sfc 1000 700 600 500 400 300 200 100 "
>>
>>
>> foreach lev ( $levels )
>> set arec=`/usr/bin/awk -F':' -v alev=$lev '{split($5,aa," "); if
( aa[1]==alev && aa[2]=="mb" ) printf("%d ",$1)}'
${splt_name}_$vtime`
>> end
>
>========================================
========================================
|