计算代码行数的shell脚本

本文介绍了一个简单的Shell脚本,用于统计当前目录及下一级目录中所有文件的代码行数。该脚本适用于需要快速了解代码规模的场景。

用来统计代码行数的一个shell脚本

不过只支持 ./  ./dir  ./dir/dir 三级目录

有需要的简单可以用一下

#! /bin/bash
#代码书行数统计脚本,只支持两级目录
all_count=0; 	#全部行数统计
file_count=0; 	#文件行数统计
filename="";
string="";
path=`pwd`;
for filename in `ls`;do
	file_info=`ls -l | grep ${filename}`;
	class=`echo ${file_info:0:1}`;
	#目录
	if [[ ${class} = 'd' ]];then
		cd ${filename};
		path=`pwd`;
		for filename in `ls`; do
			file_info=`ls -l | grep ${filename}`;
			class=`echo ${file_info:0:1}`;
			
			#第1级目录
			if [[ ${class} = 'd' ]]; then
				cd ${filename};
				path=`pwd`;
					
					for filename in `ls`; do
						file_info=`ls -l | grep ${filename}`;
						class=`echo ${file_info:0:1}`;
						#第2级目录
						if [[ ${class} = "d" ]]; then
						#do nothing
							echo "";
						#第2级文件
						else
							string=`wc -l ${filename}`;
							file_count=`echo ${string} |cut -d' ' -f 1`;
							echo "line_count:${file_count}		filename:${path}/${filename}";
							let  "all_count=file_count+all_count";
						fi
					done
					
				cd ..;
				path=`pwd`;
			#第1级文件
			else
				string=`wc -l ${filename}`;
				file_count=`echo ${string} |cut -d' ' -f 1`;
				echo "line_count:${file_count}		filename:${path}/${filename}";
				let  "all_count=file_count+all_count";
			fi	
		done
		
		cd ..;
		path=`pwd`;
	#文件
	else
		string=`wc -l ${filename}`;
		file_count=`echo ${string} |cut -d' ' -f 1`;
		echo "line_count:${file_count}		filename:${path}/${filename}";
		let  "all_count=file_count+all_count";
	fi
done
echo "total_line_count:${all_count}";


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值