2014-04-10 2 views
1

나는 두 개의 파일이 있습니다ruby에서 파일의 전체 줄을 일치시키고 제거하는 방법?

some phrase 1 
some phrase 2 
some phrase 3 

:

  1. Phrases.txt을

두 파일이 같은 각 줄의 문구가 있습니다

  • 문구 - 투 - exclude.txt
  • 주 프레이즈 파일에서 "제외 할 프레이즈"파일에있는 모든 행을 제거 할 수있는 방법이 있습니까?

    구문이 정확하므로 전체 줄만 일치시켜야합니다.

    답변

    3
    phrases = File.read('Phrases.txt').lines 
    exclude = File.read('Phrases-to-exclude.txt').lines 
    
    File.write('Result.txt', (phrases - exclude).join) 
    
    +0

    각 행은 문구입니다. – Dorian

    +1

    그게 내가 원했던 것. 각 줄은 정확히 일치해야한다 (부분 문자열이 아님). – user3188544

    +0

    @ user3188544 감사합니다. 그게 내가 이해 한 것입니다. – Dorian

    0

    또한 다음과 같이 할 수있다 : 즉이 경우에 작동되도록

    data_from_main_file = File.readlines('Phrases.txt') 
    data_to_exclude = File.readlines('Phrases-to-exclude.txt') 
    File.write('output.txt', (data_from_main_file - data_to_exclude).join) 
    
    관련 문제