zoukankan      html  css  js  c++  java
  • git 统计代码量 shell脚本

    #!/bin/bash
    # 统计代码量
    # 使用方法: sh gitstat.sh "2017-11-01" "2017-11-30" "JamKong" ~/workspace/IDEA/项目名/
    # 开始时间
    startTime=`date -j -f "%Y-%m-%d" $1 +%s`
    # 结束时间
    endTime=`date -j -f "%Y-%m-%d" $2 +%s`
    # 提交代码作者
    author=$3
    # 项目绝对路径
    path=$4||'.'
    
    internalDay=$((($endTime-$startTime)/60/60/24 + 1))
    echo "统计总天数:"$internalDay ""
    
    cd $path
    
    preTime=$startTime
    nextTime=$startTime
    echo "提交者 $3: " 
    for (( i=1;i<=$internalDay;i++));do
        temp=$nextTime
        nextTime=`date -r $(( $nextTime + 86400)) +%s`
        preTime=$temp
        echo `date -r $preTime +"%Y%m%d"` - `date -r $nextTime +"%Y%m%d" ` ": c"
        git log --since=$preTime --until=$nextTime  --author=$3 --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 + $2 } END { printf "added lines: %-15s   |   removed lines: %-15s   |   total lines: %-15s
    ", add, subs, loc }'    
    done
    echo 
    echo
    echo "汇总:c"
    git log --since=$1  --until=$2 --author=$3 --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 + $2 } END { printf "added lines: %-15s   |   removed lines: %-15s   |   total lines: %-15s
    ", add, subs, loc }'    
    echo

    统计结果:

  • 相关阅读:
    [POJ]poj2632(模拟)
    [EOJ]2019 ECNU XCPC March Selection #2
    [POJ]POJ1328(trie)
    卡特兰数相关总结
    2019海亮夏令营随笔
    树上数数 题解
    护卫小队 题解
    洛谷 P2966 [USACO09DEC]牛收费路径Cow Toll Paths 题解
    洛谷 P4735 最大异或和
    登峰造极 题解
  • 原文地址:https://www.cnblogs.com/JamKong/p/8231022.html
Copyright © 2011-2022 走看看