원글(이글루): 2010-12-17 13:30:42
몇 년전부터 svn같은걸로 소스 올려놓고 내가 짠것과 비교할때 라던지 할때 쓰고있는 스크립트이다.
정말 단순한 스크립트이나 도움이 될 사람이 있을까 하여 올려본다.
1) 용도
– 본인이 코딩을 했는데 커밋하기 전에 혹시 누가 바꿨는지 비교할때
– 본인이 코딩을 했는데 기존과 어떻게 바꿨는지 검증하면서 볼때
– 다른 분이 코딩한 것을 검증 해줄때 등등
2) 방식
– 지정한 디렉토리의 파일과 비교하여 (bin파일은 제외: bin파일여부는 readelf를 사용함)
내용이 상이한 경우 vimdiff로 열어줌.
3) 스크립트 코드
#!/bin/bash
DIR_NAME=”/home/XXXX/OldProject/”
function is_bin
{
RET=`readelf -A $1 2>&1 |wc -l`
if [ “$RET” == “0” ]; then
return 1
fi
return 0
}
function is_dir
{
RET=`ls -ld $1`
if [ “${RET:0:1}” == “d” ]; then
return 1
fi
return 0
}
LIST=`ls ${DIR_NAME}`
for ACC in $LIST
do
is_bin $ACC
RET=$?
if [ $RET -eq 0 ]; then
is_dir $ACC
RET=$?
if [ $RET -eq 0 ]; then
RET=`diff $ACC ${DIR_NAME}/$ACC |wc -l`
if [ $RET -gt 0 ]; then
vimdiff $ACC ${DIR_NAME}/$ACC
fi
fi
fi
done