질문&답변
클라우드/리눅스에 관한 질문과 답변을 주고 받는 곳입니다.
리눅스 분류

shell에서 문장의 행지정문제

작성자 정보

  • 김인중 작성
  • 작성일

컨텐츠 정보

본문

.ds .time 00:00:08
2223 f956ffff 6 2 8ad 12 4 2 1
0 30b b6 c 3 3
3 c 4 1 3 1d7 ff 0
1 2 0 1 1 7 18 9
0 0 3 22 d042 13 0
0 1b4 1d 0 1b4 1d 1 14
ffff b6 ffff 0 0 0
ffff ffff ffff 0 0 0
ffff ffff ffff 0 0 0
11125005 3890089 a 2323
.de

 

.ds .time 00:00:10
292 f436ffff 6 2 8ad 12 4 0 1
5 20f c4 f 3 3
0 6 4 1 9 15a ff 0
1 2 0 1 1 2 15 9
0 0 3 21 d006 2a 0
0 930 372 0 930 372 1 5a
ffff c4 ffff 0 0 0
ffff ffff ffff 0 0 0
ffff ffff ffff 0 0 0
61105004 9890089 0 0
.de

 

 

이런 형식의 문장이 실시간으로 쌓이는 파일이 있는데요 각 필드마다 의미가 지정되어 있습니다.

제가 원하는 행의 필드만을 문장 단위로 뽑아 낼려고 하는데요,,

문장의 각 행을 어떻게 지정해야 하나요??

 

제가 한건

 

function hex2dec( tmp_num ) {
  if (tmp_num=="a") { tmp_num="10" }
  if (tmp_num=="b") { tmp_num="11" }
  if (tmp_num=="c") { tmp_num="12" }
  if (tmp_num=="d") { tmp_num="13" }
  if (tmp_num=="e") { tmp_num="14" }
  if (tmp_num=="f") { tmp_num="15" }
  return tmp_num
}
/.ds/ {
  ti=$3

 nline1=NR+1
 nline2=NR+2
 nline3=NR+3
 nline5=NR+5
 nline10=NR+10
}
NR == nline1 {
if (($1) == "out"){
 nline1=nline1+1
 nline2=nline2+1
 nline3=nline3+1
 nline5=nline5+1
 nline10=nline10+1
 }
else {
  mon=$1
  bbc=hex2dec( $7 )
  bgs=hex2dec( $8 )
  stc=hex2dec( $9 )
 }
}

NR == nline10 {
  slt=hex2dec(substr($1,7,2))
  dpp=hex2dec(substr($1,1,1))-1
  ttc=hex2dec(substr($2,1,1))
  to_num=$4  
 }

NR == nline5 {

  if (($6) =="42") {
    printf "        LOCATE : BBC:%s/BGS:%s/STC:%s/TO:%s/ "  ,bbc,bgs,stc,to_num
  }

}

 

입니다.

그런데 제가 만든건 11번째 행만 이상하게 원하는 문장이 아닌 바로 전 문장의 11번째 행을

출력하네요 (to_num부분)

 

아시는분 부탁 드립니다.

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,366 명
  • 현재 강좌수 :  37,037 개
  • 현재 접속자 :  262 명