以下是我写的一个脚本,可以统计在某个项目中,自己修改代码的行数,包括增加多少行,删除多少行。

可以统计当天,24小时内或全部时间内。使用时需要把代码中的author对应的值换成自己的名字。

代码如下:

#!/bin/bash
function count() {
    local insert=0
    local delete=0
    while read line ;do
        current=`echo $line| awk -F',' '{printf $2}' | awk '{printf $1}'`
        if [[ -n $current ]]; then
            insert=`expr $insert + $current`
        fi
        current=`echo $line | sed -n 's/.*, //p' | awk '{printf $1}'`
        if [[ -n $current ]]; then
            delete=`expr $delete + $current`
        fi
    done < .tmp.count
    echo "$insert insertions, $delete deletions"
}

function countAll() {
    git log --author=msdx --shortstat --pretty=format:"" | sed /^$/d >.tmp.count
    count;
    rm .tmp.count
}

function countToday() {
    local current=`date +%s`;
    local begin=`date +%Y-%m-%d |xargs date +%s -d`;
    local minutes=$(($current - $begin));

    git log --author=msdx --since="$minutes seconds ago" --shortstat --pretty=format:"" | sed /^$/d >.tmp.count
    count;
    rm .tmp.count

}

function countOneDay() {
    git log --author=msdx --since="1 days ago" --shortstat --pretty=format:"" | sed /^$/d >.tmp.count
    count;
    rm .tmp.count

}

if [[ ! -n $1 ]] || [[ $1 = "all" ]] ; then
    countAll;
elif [[ $1 = "oneday" ]]; then
    countOneDay;
elif [[ $1 = "today" ]]; then
    countToday;
else
    echo "args: all | oneday | today";
fi

最新文章

  1. Android国际化--I18N
  2. Web应用程序项目XX已配置为使用IIS
  3. Windows 8(虚拟机环境)安装.NET Framework3.5(includes .NET 2.0 and 3.0)
  4. hadoop中MapReduce多种join实现实例分析
  5. AWS CloudFront CDN直接全站加速折腾记The request could not be satisfied. Bad request
  6. NativeScript - JS 构建跨平台的原生 APP
  7. USACO Section 2.2 循环数 Runaround Numbers
  8. [Javascript] Intro to Recursion - Detecting an Infinite Loop
  9. php缓存技术常用函数
  10. C++Primer 中间Sales_items.h头文件
  11. iOS学习——获取iOS设备的各种信息
  12. 分享一个集成在项目中的REST APIs文档框架swagger
  13. 29.Django session
  14. RecyclerView下拉刷新上拉加载(三)—对Adapter的封装
  15. 一个操作cvs格式的c++类
  16. JS学习过程中碰到的小问题
  17. Rails6使用tailwind CSS
  18. elasticsearch概念
  19. vue跨域解决方法
  20. 使用jQuery+huandlebars遍历if判断不足引用helper

热门文章

  1. 数据挖掘实战&lt;1&gt;:数据质量检查
  2. SpringCloud学习之快速搭建分布式配置
  3. NGUI制作可滚动的文本框(摘,如有侵权,联系删除)
  4. vue开发中遇到的问题集锦(2)
  5. 网站用户身份识别俩大招之cookie
  6. 使用Web Audio API绘制音波图
  7. [ Java学习基础 ] Java异常处理
  8. Fiddler实现对手机抓包
  9. 当我们在谈论JMM(Java memory model)的时候,我们在谈论些什么
  10. 关于java的Synchronized,你可能需要知道这些(下)