예를 들어 두 개의 파일이 있습니다. 파일 1에는 다음이 포함됩니다.
12
13
14
15
파일 2에는 다음이 포함됩니다.
13,abc,xyz
14,def,ghi
15,klm,opq
file3의 예상 출력:
13,abc,xyz
14,def,ghi
15,klm,opq
저는 Linux 컴퓨터를 사용하고 있습니다. 순서는 무엇입니까?
답변1
엄밀히 말하면 우리는 공통점에 관심이 없습니다.철사(주어진 데이터에 공통선이 없음) 그러나 첫 번째 열의 데이터를 기반으로 한 교차점에 있습니다.
사용 join
:
$ join -t, File1 File2
13,abc,xyz
14,def,ghi
15,klm,opq
유틸리티 join
회사는 효과적인관계(내부) 조인각각 고유한 필드(기본적으로 첫 번째 필드)가 있는 두 파일 간의 작업입니다. 나는 이것을 사용하여 -t ,
쉼표가 파일의 필드 구분 기호임을 나타냅니다(그렇지 않으면 공백을 사용합니다). 기본적으로 이 명령은 두 파일의 첫 번째 필드를 기반으로 교차점을 생성합니다.
질문에 있는 것으로 보이는 조인 필드(첫 번째 열)에서 두 파일을 모두 정렬해야 합니다. 정렬되지 않은 경우 다음을 사용하여 즉시 정렬할 수 있습니다.
join -t, <( sort File1 ) <( sort File2 )
쉘이 프로세스 대체를 지원하는 경우.