您好,我目前列出的数据为客户 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