linux下分析多個目錄和檔案行數的簡單shell指令碼分享(畢設程式碼行數統計實用工具)
阿新 • • 發佈:2019-02-14
使用方法
1. 在自己的linux機器上新建一個wrodcount.sh,然後將下方原始碼copy進去
2. 執行指令碼命令,然後第一個引數是要統計的字尾名,後面跟要統計的所有路徑(相對絕對路徑都可以)
使用方法樣例
./wordcount.sh 'php' '../Tool/' '../Application/'
由於輸出內容比較多,建議將輸出重定向到某個檔案,再檢視
./wordcount.sh 'php' '../Tool/' '../Application/' > wordcount_result
原始碼
# wordcount # author: linhongzhao # describe: 指令碼用於計算指定檔案和指定目錄下的所有檔案的總行數 # usage: ./wordcount.sh [extension] [path...] # example: ./wordcount.sh 'php' '../Tool/' '../Application/' #!/usr/bin/env bash total_lines=0 path_lines=0 analyse(){ total=0 # 指定字尾名 extension=$1 path=$2 total_file_list=`find ${path} -name "*.${extension}"` for file in ${total_file_list} do echo -e "\tfile: "${file} count=`wc -l ${file}|awk -F ' ' '{print $1}'` echo -e "\t\tline count:"${count} total=`expr ${total} + ${count}` done path_lines=${total} total_lines=`expr ${total} + ${total_lines}` } extension=$1 # 指定目錄 for path in $* do if [ ${path} = $1 ] then continue fi echo '#############' echo -e "analyse path:\n\t"${path} analyse ${extension} ${path} echo 'path line count: '${path_lines} done echo "total line count for all path: "${total_lines}