눈바래다

포맷 : 시간한줄 다음줄에 명령어 순으로 출력됨

Thu Feb  9 20:50:01 2006

alter rollback segment R04 shrink

Completed: alter rollback segment R04 shrink

Thu Feb  9 20:50:01 2006

alter rollback segment R05 shrink

Completed: alter rollback segment R05 shrink

Thu Feb  9 20:50:01 2006

alter rollback segment R06 shrink

 

요구사항 : 시간 - 라인넘버 - 명령어 순이 한줄이 되도록 출력

 

소스 :

#!/bin/ksh

 

read readfile?"Input file name : "

nawk '/begin backup/ || /end backup/ {print NR, $0}' $readfile > ${readfile}.tmp

 

while read line

do

 str=`echo $line | nawk '{print $1}'`

 str1=`echo $line`

 str2=`expr $str - 1`

 #print $str1

 #nawk '{print $0}' alert.log

 rst=`nawk '{ if(NR == '$str2') {print $0}}' $readfile`

 print $rst $str1

done < ${readfile}.tmp | tee ${readfile}.rst.log

 

결과 :

Thu Feb 9 20:36:47 2006 337 Completed: alter tablespace IDX_AR_12 begin backup

Thu Feb 9 20:36:59 2006 339 alter tablespace IDX_BILL_P_01 begin backup

Thu Feb 9 20:37:16 2006 341 Completed: alter tablespace IDX_BILL_P_01 begin backup

Thu Feb 9 20:37:33 2006 343 alter tablespace IDX_JOB_01 end backup