如何检查匹配数据并累积匹配是否正确?

如何检查匹配数据并累积匹配是否正确?

您好,我目前列出的数据为客户 ID、名字、姓氏、性别、花费金额

REDACTED

我如何在 awk 中循环遍历这个数据文件,并检查是否匹配 customerid $1,然后如果找到匹配,则将购买的号码相加?

我最好的猜测是检查上一行与下一行并进行小型比较,但这感觉很慢,尤其是在处理大量数据的情况下,而且我也不明白该怎么做。

awk 'BEGIN {

if (array[$0] == array[$1])
   #match
   #combine the two and add the purchase {print sum+=$5}
}
else
{print}
}' < infile > outfile

预期产出

REDACTED

答案1

awk 'BEGIN{ FS=OFS="," }
   { $5=sum[$1]+=$5; customer[$1]=$0 }
END{ for (c in customer) print customer[c] }' infile

相关内容