2017-12-01 6 views
1

중복 행을 경합하는 열이 있습니다. 그런 다음 삭제하지만 처음 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 

나는

+0

중복 열에서의 2 – OXXO

+0

가능한 중복입니다 [AWK - 필드가 중복 된 경우 줄을 제거 (https://stackoverflow.com/questions/2604088/awk-remove-line를 -if-field-is-duplicate). 당신은 조금만 변경합니다 :'awk '{if ($ [2] ++ <= 1) print; } '파일' – PesaThe

답변

4

내가 당신의 명령으로 문제가 그것의 하나입니다 여부를 대신 확인하는 첫 번째 경우 당신이 체크되어 있는지 생각 당신의 도움 감사합니다

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

시도 처음 두. 이런 식으로 뭔가 작업을해야합니다 :

awk 'a[$2]++<2' file 
관련 문제