한 열을 기준으로 중복 항목을 제거하지만 다른 열은 제외하고 전체 행을 제거하고 싶습니다.

한 열을 기준으로 중복 항목을 제거하지만 다른 열은 제외하고 전체 행을 제거하고 싶습니다.

많은 행과 두 개의 열이 있는 텍스트 파일이 있는데 한 열의 중복 항목을 기준으로 전체 행을 제거하고 다른 열의 중복 항목은 제거하고 싶습니다. 내 데이터에는 다음과 같은 예가 있습니다

ASV000001       76.697
ASV000002       75.667
ASV000003       81.044
ASV000003       85.976
ASV000004       81.218
ASV000004       81.596
ASV000005       79.612
ASV000006       81.726
ASV000006       81.983
ASV000007       99.385

예를 들어 위 데이터에서 중복된 두 번째 행을 제거하고 싶습니다.

ASV000003       81.044
ASV000003       85.976

Linux 플랫폼에서 수행할 수 있는 가능성을 알려주십시오. 미리 감사드립니다.

답변1

그리고, 가장 관용적인 기술 중 하나를 사용합니다 awk.

$ awk '!seen[$1]++' file
ASV000001       76.697
ASV000002       75.667
ASV000003       81.044
ASV000004       81.218
ASV000005       79.612
ASV000006       81.726
ASV000007       99.385

관련 정보