2016-08-15 11 views
0

내가이 개 탭으로 구분 된 파일 (분류) 한 작동하지 않는 명령을 가입 가입 :UNIX 내가 내부에 노력하고

파일 1 :

01130164254  01/29/2008 
01130165543  05/16/2011 
01130168864  07/14/2009 
01635163349  11/24/2009 

파일 2 :

0.11 73379268872 
0.64 67119603398 
0.65 67261704102 
16.11 01635163349 

을 두 번째 파일의 두 번째 열과 첫 번째 열의 첫 번째 열은 파일에 결합하려는 공통 열입니다. 명령을 실행했을 때

join -t" " -1 1 -2 1 File 1 File 2 

출력이 없습니다. 하지만이 명령하려고하면

join -t" " -a 2 -a 1 -e 'NULL' -o '0,1.1,1.2,2.1,2.2' File1 File2 

나는 불행하게도 UNIX 가입 할 수있는 파일에 대한 공통 키를 찾는되지 않고 파일 사이의 공통의 가치가 있기 때문에이 놀라운 것을 의미하는이 밖으로 결과를 얻고을 . 이것은 01,635,163,349는 비용이 날짜가 파일 1과 파일 2 사이의 공통 키, 당신은 위에서 볼 수 있듯이 결과의 샘플이

01635158332 09/09/2016 01635158332 09/09/2016 NULL NULL NULL 
01635163349 11/24/2009 01635163349 11/24/2009 NULL NULL NULL 
16.11 01635163339 NULL NULL 16.11 01635163339 NULL 
16.11 01635163349 NULL NULL 16.11 01635163349 NULL 

처럼 보이는 방법이다. 그래서 이상적인 결과는

01635163349 11/24/2009 16.11 

는 또한, 파일이 전체 덤프 파일 수 1은 매일 델타 파일입니다한다.

이 두 파일간에 내부 조인을 만들 수있는 다른 방법이 있습니까? 도와주세요!!

답변

0

join에 대한 입력은에 가입하려는 입력란에 으로 정렬되어야합니다.

sort -t $'\t' "File 2" | 
join -t $'\t' -1 1 -2 1 "File 1" - 
관련 문제