CSVで重複した列値を見つける

CSVで重複した列値を見つける

1行あたりのレコードのみを持つ大規模なcsvファイルで重複するIDを見つけようとしていますが、重複する項目を見つけるための条件が最初の列です。<id>,<value>,<date>

例.csv

11111111,high,6/3/2019
22222222,high,6/3/2019
33333333,high,6/3/2019
11111111,low,5/3/2019
11111111,medium,7/3/2019

希望の出力:

11111111,high,6/3/2019
11111111,low,5/3/2019
11111111,medium,7/3/2019

出力は順次である必要はありません。

ベストアンサー1

AWKを使用:

awk -F, 'data[$1] && !output[$1] { print data[$1]; output[$1] = 1 }; output[$1]; { data[$1] = $0 }'

各行を見て、次のように動作します。

  • 最初の列の値を見た場合は、その値と一致する行を出力し、記憶された行を出力する必要があります。
  • 現在行の最初の列が出力しようとしている内容と一致すると、現在行が出力されます。
  • 最初の列に入力された現在の行を保存します。

おすすめ記事