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

Linux 删除重复的行,但保留前2个实例,linux,bash,awk,gawk,Linux,Bash,Awk,Gawk,我有一个列,其中包含重复的行,然后我想删除,但保留前2个实例 删除重复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 感谢您的帮助我认为您的命令的问题在于您正在检查它是否是

我有一个列,其中包含重复的行,然后我想删除,但保留前2个实例

删除重复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

感谢您的帮助

我认为您的命令的问题在于您正在检查它是否是第一个命令,而不是检查它是否是前两个命令之一。像这样的方法应该会奏效:

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

awk'a[$2]++我认为您的命令的问题在于您正在检查它是否是第一个命令,而不是检查它是否是前两个命令中的一个。像这样的方法应该会奏效:

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

awk'a[$2]++重复项在第2列中,可能重复。您只需稍加修改:
awk'{if(a[$2]++重复项位于的第2列可能的重复项中。您只需稍加修改:
awk'{if(a[$2]++