- 论坛徽章:
- 0
|
自己实现了一个方法,比较乱
awk '{
idx1=substr($1,1,4)""$2;
for( i = 2; i < NF;i+=2)
{
idx2=sprintf("%s %s",idx1,$i);
err_list[idx2]+=$(i+1);
}
}END{
for(i in err_list )
{
printf("%s %.0f\n",i,err_list[i])|"sort"
}
}' $1 | awk 'BEGIN{
run_once = 1;
}{
cnt=arr[$1];
if( run_once == 1 && cnt == 0)
{
run_once = 2;
printf("%s %s %.0f",$1,$2,$3);
arr[$1]=1;
err[$2]=1;
}
else if( cnt == 0 )
{
printf("\n%s %s %.0f",$1,$2,$3);
arr[$1]=1;
err[$2]=1;
}
else
{
arr[$1]++;
printf(" %s %.0f" ,$2 ,$3);
}
}END{
printf("\n");
}' |
|