2014-10-21 2 views
-1

3 개의 열이있는 파일을 쉼표로 구분하여 중복 된 행을 세 개의 열로 구성된 두 개의 열로 표시하려고합니다. 다음은 그 예입니다.세 개의 두 열에 중복 된 행 표시

SIP/Bear-out-000b8cf123,6669544,79541868 
SIP/Bear-out-000b8cf456,6619259,6549449 
SIP/Bear-out-000b8cf789,6619677,6593022 
SIP/Bear-out-000b8cf987,6619259,6549449 
SIP/Bear-out-000b8cf654,6669544,79541868 

열은 두 번째와 세 번째입니다. 첫 번째 열은 항상 다릅니다.

이 방법은 BASH입니다.

+2

** 나는 세 개의 열 두 열 ** 당신은 몇 가지 예를 추가 할 수있는 중복 라인을 보여주고 싶어? – anubhava

+1

당신은 어떤 결과물을 원하십니까 .. 그리고 무엇을 시도 했습니까? – Pratham

+0

sort 명령으로 열을 정렬하고 uniq 명령으로 중복을 표시하려고했습니다. 문제는 첫 번째 열이 다르다는 것이며 중복 된 줄을 표시하지 않는다는 것입니다. 모든 줄은 비슷하지만 두 번째와 세 번째 열의 숫자 만 변경하십시오. – user3604939

답변

0

는이 awk 명령을 사용할 수 있습니다

awk -F, '!($2 in a){a[$2]=$0; next} a[$2]{print a[$2]; delete a[$2]}' file 
SIP/Bear-out-000b8cf456,6619259,6549449 
SIP/Bear-out-000b8cf123,6669544,79541868 
관련 문제