mwultong Blog ... 프로그래밍 / 계산기

컴퓨터 엑셀 워드 포토샵 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Monday, May 29, 2006

텍스트 파일 비교 유틸리티 WinDiff 소개 (마이크로소프트; 프리웨어)


텍스트 파일을 다루다 보면, 파일을 비교해야 할 일이 많습니다. 일일이 눈으로 비교하면 실수할 수도 있고 힘들기 때문에, 파일 비교 유틸리티 Compare Utility 가 필수적입니다.

울트라에디트(UltraEdit)에 있는 파일 비교 기능을 다년간 사용해 왔지만, 몇 년 전부터 그것이 UltraCompare 라는 상용 프로그램으로 독립화되어 버리고, 이제는 데모 버전으로만 파일 비교 기능이 들어 있었습니다. 그리고 그 울트라컴페어(UltraCompare)라는 상용프로그램도 별로 좋지가 않았습니다.

공개 프로그램 중에서 찾아봤습니다.

유닉스/리눅스의 Diff 명령을, GUI로 구현한 것이 WinDiff 인데 무료이고 마이크로소프트에서 만든 것입니다. 그러나 일반에는 공개되지 않고 플랫폼SDK (Platform SDK) 안에 들어 있었습니다. 그래서 플랫폼SDK를 설치해서 그 안에서 WinDiff 파일들을 뽑아내어야 합니다. ※ 비주얼 스튜디오를 설치하신 분은 그 안에서 한번 찾아보시기 바랍니다.

GUtils.Dll
WinDiff.Exe
WinDiff.Hlp

위의 파일 3개만 있으면 됩니다. 위의 파일을 아무 폴더에 집어넣고 WinDiff.Exe 를 실행하면 됩니다.



WinDiff 로 파일 비교 실습



디렉토리 비교도 할 수 있지만, 여기서는 파일 비교만 다루겠습니다. (이육사 시인의 시 '청포도'를 원본 파일로 삼았습니다.)


원본 파일을 0.txt
수정을 가한 파일을 1.txt
로 가정합니다.

File(파일)/Compare Files (파일 비교) 로 위의 두 파일을 불러옵니다.

만약 완전히 동일한 파일이라면 identical (동일) 이라고 나오며, 더 이상 비교할 수 없습니다.

다른 부분이 있는 파일이라면 빨간 글씨로 뭐라고 나옵니다. 그 빨간 글씨를 클릭하면 다음과 같이 비교가 됩니다:


클릭또는옆으로스크롤가능
파일 비교 유틸리티: WinDiff

자동으로, 비교된 결과가 나왔습니다
(원래의 폰트가 너무 작아서, 위의 스냅샷은 돋움체, 10포인트로 바꾸어 준 후 찍은 것입니다)


아까 원본 파일에 있던, "이육사"란 이름 앞에 있는 공백을, 수정한 파일에서는 모두 지웠었기 때문에, 원본에 있던 행이 현재 빨갛게 칠해져 있고, 새 파일의 행은 노랗게 표현되어 있습니다.*

아까 원본 파일에 있던, "하늘 밑 푸른 바다가 가슴을 열고" 하는 행을 지웠었기 때문에, 현재 빨갛게 칠해져 있습니다.

아까 원본 파일에 있던 "靑袍"라는 한자를 새 파일에서는 "청포"로 바꾸어 주었습니다. 치환된 행이 있다는 사실을 보여주고 있습니다.

아까 새 파일에, "(-_-)"라는 이모티콘을 추가했었습니다. 이육사 시인이 이모티콘을 썼을 리는 없겠지요. 노란색으로서 뭔가가 추가되었다는 표시를 해주고 있습니다.

즉, 파일의 삭제된 부분, 변경된 부분, 추가된 부분을 WinDiff 가 정확히 보여주고 있습니다.


* Options(옵션)/Ignore Blanks (공백 무시)에 체크하면, 공백(스페이스, 탭)의 변경을 무시할 수 있습니다.

물론 파일 비교 프로그램이란, 이런 간단한 파일을 비교할 때 쓰는 것이 아니라, 수백 수천 수만 줄짜리 복잡한 소스 코드 등의 변경 사항을 찾아내기 위해 사용하는 것입니다.



윈도우의 FC 명령으로 파일 비교



윈도우 안에도 FC 라는 파일 비교 명령이 있긴 있습니다. ("윈도우 도스창에서의, 파일 비교 명령은? ; 텍스트 파일 / 이진 파일 비교" 참고)

이것은 FC 로 위의 청포도라는 시를 비교한 것입니다:

D:\Z>fc 0.txt 1.txt
파일을 비교합니다: 0.txt - 1.TXT
***** 0.txt

이육사

***** 1.TXT

이육사

*****

***** 0.txt

하늘 밑 푸른 바다가 가슴을 열고
흰 돛단배가 곱게 밀려서 오면,
***** 1.TXT

흰 돛단배가 곱게 밀려서 오면,
*****

***** 0.txt
내가 바라는 손님은 고달픈 몸으로
靑袍를 입고 찾아온다고 했으니

***** 1.TXT
내가 바라는 손님은 고달픈 몸으로
청포를 입고 찾아온다고 했으니

*****

***** 0.txt
아이야, 우리 식탁엔 은쟁반에
하이얀 모시 수건을 마련해 두렴
***** 1.TXT
아이야, 우리 식탁엔 은쟁반에
(-_-)
하이얀 모시 수건을 마련해 두렴
*****


D:\Z>


그런데 FC 는 알아보기도 힘들고, 버그도 좀 있는 것 같고 해서 별로 쓰고 싶지 않습니다.



관련 게시물: 유닉스/리눅스(Linux)의, 파일 비교 명령: diff




tag: software
소프트웨어 Software | 유틸리티 Utility

0 Comments:

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Previous Posts
Monthly Archives
Top