標籤:source 密碼 代碼 bash use star space 版本 svn
#! /bin/bash# 計算有效變更代碼量的指令碼#./svnCount -thttps://192.168.1.1/xxx -s1000 -e2000 -uxxx -pxxxversion() {OS=`uname -o`echo "Source_counter ($OS) 0.0.1"echo " tony bai (http://tonybai.com)"}usage() {echo "usage: source-counter [-t SVN_REPOSITORY_URL] [-s START_REVISION]"echo " [-e END_REVISION] [-u USER_NAME]"echo " [-p PASSWD]"echo " source-counter [-v|-h]"echo echo " -t, 目標SVN庫地址"echo " -s, 起始修訂編號"echo " -e, 結束修訂編號"echo " -u, svn帳號"echo " -p, svn密碼"echo " -h, 協助"echo " -v, 版本資訊"}if [ $# -lt 2 ]; thenusageexit 1 fiwhile getopts "t:s:e:u:p:vh" opt; docase $opt int) target=$OPTARG;;s) start_revision=$OPTARG;;e) end_revision=$OPTARG;;u) user=$OPTARG;;p) passwd=$OPTARG;;v) version; exit 1;;h) usage; exit 1;;esacdoneif [ -z $target ]; thenecho "請輸入目標SVN庫地址!"exit 1fiif [ -z $start_revision ]; thenecho "請輸入起始修訂編號!"exit 1fiif [ -z $end_revision ]; thenecho "請輸入終止修訂編號!"exit 1fiTEMPFILE=temp.logUSERNAME=${user:-}PASSWD=${passwd:-}svn diff -r$start_revision:$end_revision $target > $TEMPFILE#去掉含空格的空行add_lines_count=`grep "^+" $TEMPFILE | grep -v "^+++" | sed ‘s/^.//‘| sed s/[[:space:]]//g |sed ‘/^$/d‘|wc -l`echo "the actually incremental source code lines = $add_lines_count"
statsvn,代碼統計