こんにちは。現在私がリストしているデータは、顧客ID、名前、姓、性別、支出金額です。
REDACTED
awkでこのデータファイルを繰り返し、顧客ID $ 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