小编典典

有没有办法按列“uniq”?

all

我有一个这样的 .csv 文件:

stack2@example.com,2009-11-27 01:05:47.893000000,example.net,127.0.0.1
overflow@example.com,2009-11-27 00:58:29.793000000,example.net,255.255.255.0
overflow@example.com,2009-11-27 00:58:29.646465785,example.net,256.255.255.0
...

我必须从文件中删除重复的电子邮件(整行)(即overflow@example.com上面示例中包含的行之一)。如何uniq仅在字段 1
上使用(以逗号分隔)?根据man,uniq没有列选项。

我尝试了一些东西,sort | uniq但它不起作用。


阅读 69

收藏
2022-06-11

共1个答案

小编典典

sort -u -t, -k1,1 file
  • -u为独一无二
  • -t,所以逗号是分隔符
  • -k1,1对于关键字段 1

测试结果:

overflow@domain2.com,2009-11-27 00:58:29.793000000,xx3.net,255.255.255.0 
stack2@domain.com,2009-11-27 01:05:47.893000000,xx2.net,127.0.0.1
2022-06-11