AWK是一個很好用的指令喔
這個是一小段的Netbackup log  file
cat logfile
  0    NPACDB_local  ORA_NPACDB_LOG   Default-Ap BCSPBS01    10/23/2007 01:44:29
  0    NPACDB_local  ORA_NPACDB_LOG   Sch_ORA_NP BCSPBS01    10/23/2007 01:44:39
  0    NPACDB_local  ORA_NPACDB_LOG   Default-Ap BCSPBS01    10/23/2007 03:54:52
  0    NPACDB_local  ORA_NPACDB_LOG   Sch_ORA_NP BCSPBS01    10/23/2007 03:55:11
 96    BCSPBS01      FS_BCSPBS01      Sch_FS_BCS BCSPBS01    10/23/2007 05:15:11
                 (unable to allocate new media for backup, storage unit has none available)
 96    BCSPBS01      FS_BCSPBS01      Sch_FS_BCS BCSPBS01    10/23/2007 05:15:12
                 (unable to allocate new media for backup, storage unit has none available)
  0    NPACDB_local  ORA_NPACDB_LOG   Default-Ap BCSPBS01    10/23/2007 06:05:21
  0    NPACDB_local  ORA_NPACDB_LOG   Sch_ORA_NP BCSPBS01    10/23/2007 06:05:39
  0    NPACDB_local  ORA_NPACDB_LOG   Default-Ap BCSPBS01    10/23/2007 08:15:28
  0    NPACDB_local  ORA_NPACDB_LOG   Default-Ap BCSPBS01    10/23/2007 08:16:14
  0    NPACDB_local  ORA_NPACDB_LOG   Sch_ORA_NP BCSPBS01    10/23/2007 08:16:25
  0    NPACDB_local  EXP_NPACDB       Sch_EXP_NP BCSPBS01    10/23/2007 09:55:51
  0    NPACDB_local  ORA_NPACDB_LOG   Default-Ap BCSPBS01    10/23/2007 10:25:56
  0    NPACDB_local  ORA_NPACDB_LOG   Default-Ap BCSPBS01    10/23/2007 10:26:46
  0    NPACDB_local  ORA_NPACDB_LOG   Sch_ORA_NP BCSPBS01    10/23/2007 10:27:03
196    BCSPBS01      FS_BCSPBS01      Sch_FS_BCS BCSPBS01    10/23/2007 11:15:31
                 (client backup was not attempted because backup window closed)
  0    NPACDB_local  ORA_NPACDB_LOG   Default-Ap BCSPBS01    10/23/2007 12:35:54
  0    NPACDB_local  ORA_NPACDB_LOG   Default-Ap BCSPBS01    10/23/2007 12:36:49
  0    NPACDB_local  ORA_NPACDB_LOG   Sch_ORA_NP BCSPBS01    10/23/2007 12:36:55
  0    NPACDB_local  ORA_NPACDB_LOG   Default-Ap BCSPBS01    10/23/2007 14:35:28
 
  事件 第一個格子是代表成功失敗 
       0  為成功   其他為失敗
 
  條件
         1  行中有 Default-Ap  為程序自已起來的 必須不計算
         2  想要計算有多少成功的
         3  想要計算有多少失敗的
         4  失敗重式的部份不計算
主要用在有一個特定格式 很象excel的統計 分析功能
這個要怎麼作呢
想法:
1 先排除怪怪的行數 
 (client backup was not attempted because backup window closed)
那種前面沒有帶數字的 要先排除
2 排除 Default-Ap
 條件1 所提及的部份
3  條件4是比較討厭一點的部份
從:  來判別  分左邊及右邊
gawk -F:   "!/Default-Ap/&&!/\(/{if ($1!=y)print $0; y=$1}"  logfile
再度給| 符號接下去作剩下的處理
|  gawk "{if($1==0){s++}else{f++}}END{print s,f}"
合在一起寫
gawk -F:   "!/Default-Ap/&&!/\(/{if ($1!=y)print $0; y=$1}"  logfile  |  gawk "{if($1==0){s++}else{f++}}END{print s,f}"
 
 
沒有留言:
張貼留言