차이점이 있는 여러 파일 병합

차이점이 있는 여러 파일 병합

텍스트 파일에서 스크립트를 실행 중이며 해당 내용을 병합하고 싶습니다. 파일 이름이 "file1"이라고 가정합니다.

파일 1:

이건 문자야, 와!

이제 스크립트를 실행한 후 여러 버전이 생겼습니다.

파일 2:

내 <>는 텍스트입니다. 와!

파일 3:

귀하의 <>는 텍스트입니다. 와!

파일 4:

이것은 txt<>입니다. 와!

보시다시피 일부 단어가 다른 단어로 변경되고 <>가 추가되었습니다. 이제 단어가 변경될 때 병합되도록 이러한 파일을 병합하고 싶습니다.

산출:

내<>너희<>는 txt<>야, 와!

순서는 중요하지 않습니다. 병합만 하면 됩니다. 이를 쉽게 해주는 도구가 있나요?

답변1

이 작업을 수행할 수 있는 도구는 없지만 코딩하는 것은 어렵지 않습니다. 다음은 Perl의 일부입니다.

perl -E 'for $i (1..4) { open ($file,"<","file${i}"); { local $/; @{$words[$i]} = split " ",<$file>; }; close($file); }; for $i (0..scalar(@{$words[1]})-1) { $p=0; for $j (2..4) {  if ($words[1][$i] ne $words[$j][$i]) { print $words[$j][$i]; $p++ } } unless ($p) { print $words[1][$i] }; print " "; } print "\n"'

많은 것들이 개선될 수 있습니다. 그것을 사용해야 한다면 가장 먼저 수정해야 할 것은 줄 끝에 있는 추가 공간일 것입니다. 아마도 출력 단어를 배열에 추가하고 조인 기능을 사용할 것입니다. 실제로 이상한 작업을 수행하는 것은 매우 어렵습니다.

관련 정보