您的位置:首页 > 运维架构 > Shell

统计代码行数的shell脚本

2014-08-19 13:18 537 查看
无聊之中写了个统计程序源代码行数的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


基础性的,不解释,用法自己研究。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: