awk统计文件的问题
对一个文件中的某一列进行统计,两个条件完全相同的AWK语句统计出来的结果却相差很大,不明白原因。。。还请各位指教。程序如下:
awk 'BEGIN{FS=" "} (substr($0,84,1)=="1") {sum1=sum1+substr($0,37,8);sum2=sum2+substr($0,55,8)} END{print sum1,sum2}'
这是第一个,统计出来的结果也是对的
BEGIN{FS=" ";sum1=0;sum2=0}
{
if(substr($0,84,1)=="1")
{
sum1=sum1+substr($0,37,8);
sum2=sum2+substr($0,55,8);
}
}
END{
printf "%d\n",sum1 > "YUsum.log"
printf "%d\n",sum2 >> "YUsum.log"
}
这个程序统计出来的sum2是对的,sum1相差就很大了,不明白为什么,检查了下文件格式,似乎也没什么问题,两个程序几乎都是一样的,为什么统计出来的数会有这么大差异呢??