2013-07-08 3 views
0

N 바이러스 백신 검색 결과가 포함 된 서로 다른 텍스트 파일이있는 경우 가장 공통점이있는 파일을 병합하는 가장 최적화 된 방법을 알고 싶습니다. 다른 텍스트 파일에서 복제 할 수 있습니다. 그래서 나는이 결론에 온 : 이미 최종 텍스트 파일에있는 경우 각 라인에 대한정보를 복제하지 않고 여러 파일을 병합하는 가장 좋은 방법

  • 확인하고 중복 된 라인 어쩌면

을 그렇다면

  • 복사 모든를 작성하고 제거하지 몇 가지 다른 해결책이 있습니다. 모르겠습니다. 이 점을 감안할 때 앞으로 나아갈 수있는 가장 좋은 방법은 무엇일까요?

  • +2

    파일의 크기는 얼마입니까? 메모리에 들어가기에 충분히 작습니까? – FMc

    +0

    각 약 20Kb –

    +0

    이전에 행을 본 적이 있는지 여부를 추적하려면 '해시'를 사용하십시오. 해시에서 키는 데이터 행이며, 값은 부울 또는 각 행을 본 횟수를 계산합니다 (주의 할 사항). – FMc

    답변

    0

    배열을 추가 한 다음 배열에 .uniq을 추가 할 수 있습니다.

    1.9.3-p429 :001 > a = ['test', 'test2'] + ['test2', 'test3'] 
    [ 
        [0] "test", 
        [1] "test2", 
        [2] "test2", 
        [3] "test3" 
    ] 
    1.9.3-p429 :002 > a.uniq 
    [ 
        [0] "test", 
        [1] "test2", 
        [2] "test3" 
    ] 
    

    물론 이것은 정확하게 일치하는 라인에 의존합니다.

    관련 문제