统计代码行数的shell脚本

无聊之中写了个统计程序源代码行数的shell脚本,源码如下:

#!/bin/sh

#check file name suffix
check_name()
{
    #you can add or delete suffix
    case $1 in
        *.h | *.c | *.cpp | *.c++) return 0;;
        *.java) return 0;;
        *.py) return 0;;
        *.pl) return 0;;
        *.sql) return 0;;
        *.jsp | *.js) return 0;;
        *) return 1;;
    esac
}

#count source lines in a file or files in a directory tree recursively
count_line()
{
    if [ -f $1 ]
    then
        if check_name $1
        then
            echo `cat $1 | grep -v "^$" | wc -l $1 | awk '{print $1}'`
        else
            echo 0
        fi
    elif [ -d $1 ]
    then
        cd $1
        s=0
        for i in *
        do
            c=`count_line $i`
            s=$((s+c))
        done
        echo $s
        cd ..
    else
        echo 0
    fi
}

sum=0
for item in $*
do
    count=`count_line $item`
    sum=$((sum+count))
done

echo $sum

基础性的,不解释,用法自己研究。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值