基于特定的列上CSV确定唯一的记录

1 text-processing csv uniq deduplication

如果输入是

foo,bar,baz
bar,baz,qux
qux,quux,baz
bar,foo,qux
waldo,fred,garply
Run Code Online (Sandbox Code Playgroud)

输出应该是

foo,bar,baz
bar,baz,qux
waldo,fred,garply
Run Code Online (Sandbox Code Playgroud)

如您所见,记录根据第 3 列的值进行了重复数据删除。如果多个记录具有相同的第 3 列值,则随机选择一个(或第一个;无关紧要)

gle*_*man 9

惯用AWK答案 awk -F, '!seen[$3]++' file

这将在第一次在第三列中看到值时打印一行。