用awk如何忽略一些行

我用gcov生成了一些覆盖率统计的文件如下
File '/vobs/rru/rsl/gfh/AppFaultList.cc'
Lines executed:0.00% of 42
/vobs/rru/rsl/gfh/AppFaultList.cc:creating 'AppFaultList.cc.gcov'

File '/vobs/rru/rsl/gfh/FaultElement.cc'
Lines executed:96.23% of 159
/vobs/rru/rsl/gfh/FaultElement.cc:creating 'FaultElement.cc.gcov'

File '/vobs/rru/rsl/gfh/hdr/FaultElement.h'
Lines executed:66.67% of 3
/vobs/rru/rsl/gfh/hdr/FaultElement.h:creating 'FaultElement.h.gcov'

File '/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/stl_algobase.h'
Lines executed:40.74% of 27
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/stl_algobase.h:creating 'stl_algobase.h.gcov'

文件里面有.h文件的覆盖率,也有.cc文件的覆盖率。我用如下脚本统计整个模块的覆盖率
eval $(awk 'BEGIN{sum=0;percent=0}/ of / {gsub(/[^0-9\.]/,"",$2); percent+=$2*$4; sum+=$4}END{percent/=sum; print "percent="percent}' result)

但是现在我只想统计.cc文件的覆盖率而不统计.h文件的覆盖率,这个awk脚本怎么写?

作者: jiangchaolj   发布时间: 2011-05-06

引入一个布尔变量,
在File '...'行的时候设置这个变量,
覆盖率行的时候判断这个变量

作者: zaghost   发布时间: 2011-05-06