Posted on 2008-03-28 09:54
王大头 阅读(3041)
评论(2) 编辑 收藏 引用
摘录20条数据:
06 01 06 30 2.700 81.000
06 01 06 45 3.900 175.500
06 01 07 00 2.400 0.000
06 01 07 15 0.160 2.400
06 01 08 00 0.380 0.000
06 01 08 15 0.300 4.500
06 01 08 30 3.900 117.000
06 01 08 45 5.520 248.400
06 01 09 00 6.600 0.000
06 01 09 15 9.600 144.000
06 01 09 30 3.300 99.000
06 01 09 45 2.300 103.500
06 01 10 15 7.880 118.200
06 01 10 30 10.820 324.600
06 01 10 45 7.360 331.200
06 01 11 00 11.940 0.000
06 01 11 15 4.200 63.000
06 01 11 30 3.180 95.400
06 01 11 45 1.800 81.000
06 01 12 00 30.970 0.000
单列group by单列聚合
awk '{a[$2]+=$5}END{for(i in a) printf "%s %10.3f\n",i,a[i]}' e.dat
单列group by多列聚合
awk '{a[$2]+=$5;b[$2]+=$6}END{for(i in a) printf "%s %10.3f %14.3f\n",i,a[i],b[i]}' e.dat
多列group by单列聚合
awk '{a[$2" "$3]+=$5}END{for(i in a) printf "%s %10.3f\n",i,a[i]}' e.dat
多列group by多列聚合
awk '{a[$2" "$3]+=$5;b[$2" "$3]+=$6}END{for(i in a) printf "%s %14.3f %14.3f\n",i,a[i],b[i]}' e.dat