Linux ETC

diff 사용방법

2008.05.15 03:52

sylee 조회 수:27211

     diff는 두 개의 파일을 비교하고 두 개의 파일이 어떻게 다른가를 보여줍니다.
     그래서 어떻게 수정되어야만 두 파일이 같아질 수 있는지를 쉽게 알수있습니다.

     1) 문법
        * diff [ -ibefw ] 파일명1 파일명2

     2) 옵션
         -i : 대소문자를 구분하지 않음
         -b : 하나 이상의 공백 문자는 모두 같은 것으로취급해서 비교한다.
         -e : ed 에디터를 위한 스크립트를 생성한다.
         -f : 반대 순서로 스크립트를 생성한다. 하지만 이것은 ed 에디터에 사용될 수가 없다.
         -w : 탭(tab) 문자를 포함한 모든 공백 문자를 무시하고 비교 작업을 수행한다.

     3) 설명
         diff가 보여주는 정보는 언뜻 보아서는 이해할 수 없다.
         일단 명심해야 할 것은 표본이 되는 문서는 두 번째 파일이라는 점이다.
         그래서 모든 정보는 ''''첫번째 파일이 어떻게 수정되어야 두 번째 파일과 같아지느냐''''하는
         것이다.

         파일2에서 파일1로 첨가(append)되어야 할 것은 ''''a'''' 기호로 표현된다.
         파일1에서 제거(delete)되어야 하는 내용은 ''''d''''로,
         두 파일의 내용이 바뀌어(change)하는 내용은 ''''c''''기호로 표시됨
         이러한 수정 기호와 함께 행의 번호가 함께 표시되며, 해당 줄의 내용이 함께 출력된다.

         # 행숫자 a 파일2시작행번호 파일2끝행번호
         # 파일1시작행번호 파일1끝행번호 d 행숫자
         # 파일1시작행번호 파일1끝행번호 c 파일2시작행번호파일2끝행번호

    4) 사용예
       #diff -i  httpd.conf httpd.conf.bak