最初の2つの列に基づいてファイルから2つの重複エントリを削除する方法

最初の2つの列に基づいてファイルから2つの重複エントリを削除する方法

test.txt最初の2つの列に基づいて、ファイルから2つの重複エントリを削除する必要があります。

tom,22,777
tom,22,888
tom,18,54
ray,44,43843

予想される結果:

tom,18,54
ray,44,43843

試してみましたが動作cat test.txt | sort -u t, k1,1 k2,2しません

ベストアンサー1

以下を使用できますawk。ファイルを2回処理します。最初と2番目のフィールドの発生回数を1回計算し、行を再印刷します(回数が1の場合)。

awk -F, 'NR==FNR{seen[$1,$2]++;next};seen[$1,$2]==1' infile infile

おすすめ記事