利用shell脚本统计代码行数
生活随笔
收集整理的這篇文章主要介紹了
利用shell脚本统计代码行数
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
剛畢業(yè)那會兒有一次去一家臺灣公司面試,問我寫過多少行代碼。從沒想過這個問題,粗略算了算,隨口說道:大概幾十萬行吧。最近整理資料,看著eclipse左邊滿滿的列表,想起了這個事。倒底總共有多少行代碼?——這事如果在windows下要么找工具,要么編程序。又想到linux里的命令統(tǒng)計很方便,于是打算用個命令來完成??煞治鰜矸治鋈?#xff0c;恐怕一行命令是搞不定的——又涉及遞歸查找,又涉及指定文件類型,又涉及對文件全路徑進行操作。最終還是用了一段shell腳本才達到目的。
#!/bin/bash declare -i filenumber=0 declare -i linenumber=0 list_alldir(){for file in `ls -a $1`doif [ x"$file" != x"." -a x"$file" != x".." ];thenif [ -d "$1/$file" ];thenlist_alldir "$1/$file"else if [[ $file =~ \.java$ ]]; then echo "$1/$file" filenumber=$filenumber+1 linenumber=$linenumber+`cat "$1/$file"|wc -l` fififidone } if [ "$1" = "" ];then arg="." else arg="./"$1 fi list_alldir $arg echo "There are $filenumber java files under directory: $arg" echo "--total code lines are: $linenumber"使用方法:保存成sh文件,授予執(zhí)行權(quán)限。執(zhí)行./xxx.sh src ,可帶參數(shù)。不帶參數(shù)是統(tǒng)計當前目錄下所有java文件,帶參數(shù)是統(tǒng)計指定目錄下的所有java文件。參數(shù)只能指定到目錄一級,不能到文件。
還可以寫的更通用一些,比如統(tǒng)計任意類型的文件,懶得改了。統(tǒng)計結(jié)果大部分項目在幾千至幾萬行之間,整個jdk7也才260多萬行源碼,還包括那么多注釋行呢。當年的回答確實有點不知天高地厚了。
總結(jié)
以上是生活随笔為你收集整理的利用shell脚本统计代码行数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python 代码混淆和加密技术
- 下一篇: Python3 - 时间处理与定时任务