개발자세상/Shell 관련

서로 다른 디렉토리의 전체 파일 diff 실행하는 script

headiron 2009. 1. 30. 20:47
이번에 7.0 과 7.1 소스 비교하여야 할 issue가 발생해서 7.0 과 7.1 svn 정보를 다 checkout하고 비교를 하려니 막막하다...

이주영 차장님에게 도움을 구하니 답이 나온다.

( 흐... 역시 모르는건 물어서 배워야 한다는... )


find ./UI_700 -type f |grep -v .svn |sed -e 's/\.\/UI_700//g' |while read SRC; do echo $SRC; echo; diff ./UI_700$SRC ./UI_710$SRC ; echo "-----"; done > diff.result.txt

1. find ./UI_700 -type f : UI_700 디렉토리의 전체 파일을 리스트업 한다.
2. grep -v .svn : 1번 결과 중 .svn이 들어간 파일은 제거 한다. ( .svn 디렉토리에는 svn을 위한 meta-data가 들어가므로 해당 파일은 비교대상에서 제외한다. )
3. sed 명령을 통해 파일명 중 ./UI_700 부분을 제거한다.
4. 위 결과를 한줄 단위로 fetch 하여 $SRC 변수에 저장한다.
5. diff 수행
6. 결과를 diff.result.txt에 저장

script를 만들려고 했었는데..-.-

이주영 차장님 감사합니다>^^