一致データを確認し、一致を累積して正しいかどうかを確認できますか?

一致データを確認し、一致を累積して正しいかどうかを確認できますか?

こんにちは。現在私がリストしているデータは、顧客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

おすすめ記事