출처 : http://blog.naver.com/johnforstar/30113040636
diff 명령어를 사용할 때 아무 옵션도 주지 않고 두 디렉토리를 비교하게 되면, 두 디렉토리에 어떤 파일만 있는지 혹은 어떤 디렉토리만 있는지, 어떤 디렉토리가 공통인지 에 대해서만 알려준다.
그래서 두 디렉토리의 어떤 파일들이 서로 다른지 알고 싶을 경우에는 -r 옵션을 주어서 전체 디렉토리 트리를 재귀적으로 탐색하면서 비교할 필요가 있다. 그리고 -q 옵션을 주어서 다른 파일들을 line by line 으로 비교하는 것을 없애주면 더욱더 보기 좋게 된다.
여기서 추가적으로 | 를 사용하여 sort 를 하게 되면 다른 것들이 알파벳 순서로 정렬이 되어서 출력이 되어 보기가 훨씬 수월해 진다.
간단한 팁 같지만 여러모로 쓰기에 유용한 팁 같아서 따로 글로 남겨둔다. :)
$ diff -rq dir1 dir2 | sort |
다른 예제: dir1, dir2 의 다른 파일들중에서 "some_text" 가 들어가 있는 파일들을 알파벳 순서로 정렬한 뒤, 목록을 diff.txt 파일로 저장한다.
$ diff -rq dir1 dir2 | grep "some_text" | sort > diff.txt |
[출처] diff 로 두 디렉토리의 다른 파일들을 비교|작성자 johnforstar
나 같으면 소스 상에 .git들이 있어서 차이가 나서 제외하고 싶었다. 그럴땐 -exclude 옵션을 쓰면 된다.
$ diff -rq --exclude=.git /home/test/android android /home/sync/android |
'개발자 기본 소양' 카테고리의 다른 글
GIT 개념도 (0) | 2013.01.11 |
---|---|
spi i2c 개요 (0) | 2012.09.20 |
디스크와 파일 시스템 (0) | 2012.05.08 |
SWAP (0) | 2012.04.30 |
오픈소스 라이센스 비교 (0) | 2012.04.11 |