删除重复的行但保留前2个实例

时间:2017-12-01 20:47:01

标签: linux bash awk gawk

我有一个争用重复行的列,然后我想删除但保留前两个实例。

删除重复次数超过2次的重复行

示例输入

i 10
i 10
a 12
a 12
b 12
b 12
c 14
c 14
x 14
x 14
y 14
y 14
a 14
a 14
n 13
n 13
m 13
m 13
x 13
x 13

输出所需。

i 10
i 10
a 12
a 12
c 14
c 14
n 13
n 13

我试过

awk '!a[$2]++' file

感谢您的帮助

1 个答案:

答案 0 :(得分:4)

我认为你的命令的问题在于你正在检查它是否是第一个而不是检查它是否是前两个中的一个。这样的事情应该有效:

awk 'a[$2]++<2' file