저는 5 개의 열과 수백만 개의 행을 포함하는 두 개의 매우 큰 파일을 유닉스에 가지고 있습니다.두 파일을 유닉스에서 필드별로 비교하십시오.
예 :
파일 1 : ABC | 고화질 | GHK | IJK | LMN .... ...
있는 File2 : ABC | 고화질 | GHK | IJK | 123 . .. ...
내 작업은 두 개의 큰 파일을 비교하고 다른 열과 행을 찾아야합니다. 예를 들어 출력은 다음과 같습니다. 열 - 행 없음 - 파일 1 - 단어 File2 - 단어.
예 :
5 일 LMN 123
파일은 정말 크다. 나는 awk이 유닉스에서 파일 파싱을하는 가장 빠른 방법이라고 들었다. 출력이 너무 오래 기다릴 수 없기 때문에.
awk를 사용하여이 작업을 수행 할 수 있습니까?
예, 두 파일을 동시에 읽는 것은 어렵지만 하나의 파일에서 모든 입력을 저장 한 다음 두 번째 파일을 읽는 동안 'awk' 스크립트의 정상적인 작동 모드 인 반면'awk '을 사용하여 수행 할 수 있습니다. 무엇을 시도 했습니까? 문제가 발생한 곳은 어디입니까? Perl이나 Python을 사용할 수 있다면, 하나의 파일 전체를 메모리에 저장하는 것을 더 쉽게 피할 수 있습니다. –
Perl을 사용하더라도 atleast는 메모리에있는 한 파일을 버려야합니까? 그런 다음 해당 데이터 구조를 사용하여 두 번째 파일을 비교하십시오. –
아니오; Perl을 사용하면 파일 1에서 한 줄을 읽고 파일 2에서 한 줄을 읽은 다음 줄을 비교하여 차이점을 인쇄합니다. 헹구고 반복하십시오. –