
두 파일의 일부 데이터 줄이 동일한 것을 측정하는 두 개의 다른 파일이 있습니다. File1의 줄이 같은 것을 측정하는 출력 줄이 되도록 병합된 출력을 원합니다(file1의 두 번째 줄과 file2의 첫 번째 줄이 같은 것을 측정합니다. 한 줄의 열 1과 열 2 유사성을 원합니다. 파일).
... 파일 1:
1257, OBM , 47, 106, 1330
1257, IRK , 52, 104, 467
....
파일 2:
1257, IRK , 50, 100, 400
1000, CTK , 47, 106, 1330
....
산출:
1257, OBM , 47, 106, 1330
1257, IRK , 52, 104, 467
1000, CTK , 47, 106, 1330
....
답변1
사용 awk
:
awk -F',' '!seen[$1,$2]++' file1 file2
설명하다:
- 처음에는 키 필드가 있는 배열 항목이
$1,$2
할당되지 않았으므로 false입니다. - false이면
!seen
true이므로 이를 증가시키고(true로 만들고) 기본 작업인 을 수행합니다print
. - true(두 번째로 동일한 필드가 표시됨)
!seen
이면 false이고awk
행을 건너뜁니다.