2014-03-31 3 views
2

에 두 개의 파일을 결합하는 두 개의 파일 - :방법이 있습니다 쉘

실제 파일이 큰 데이터와 엄청난 시간을내어 파일 2에서 파일 1의 이메일 ID를 grepping가 포함되어 있기 때문에 우리는 GREP을 사용하지 않는
File1-: 
email 
[email protected] 
[email protected] 
[email protected] 

File2-: 
[email protected],dpk,25,India 
[email protected],dpk,25,India 
[email protected],dpk,25,India 
[email protected],dpk,25,India 
[email protected],dpk,25,India 

Required file should be-: 
[email protected],dpk,25,India 
[email protected],dpk,25,India 
[email protected],dpk,25,India 

. Join 또는 Comm 유틸리티를 사용할 수 있습니까? 그렇다면 도움주세요. 나는 시도했지만 원하는 결과를 얻지 못했습니다.이 두 유틸리티는 정렬 데이터에서 작동하지만 두 파일의 데이터는 정렬되지 않습니다.

+0

문제를 명확하게 해결해야하므로 아래 답변을 수락하십시오. 그렇지 않으면 질문을 적절하게 업데이트하십시오. –

답변

6
grep -Ff File1 File2 

이것은있는 File2에 대해 grep으로하는 패턴 등을 File1 (-f)의 고정 끈 (-F)에 걸린다. 고정 문자열을 그 리핑하면 작업이 크게 빨라집니다.

즉 그것을 잘라하지 않는 경우

...

join -t',' File1 File2 

는 ...뿐만 아니라,하지만 정렬하는 두 파일이 필요합니다. 첫 번째 필드에 조인하는 것이 기본값이므로 쉼표를 필드 구분 기호로 사용하면 join 만 사용해야합니다. 파일의 크기가 실제로 큰 경우 에 먼저 정렬해야합니다. 실제로 더 빠를 것이라는 확신이 들지 않습니다.

관련 문제