功能:
統計一個文件或者一個目錄下所有文件的所有行數,並根據文件類型的不同而分別記錄,比如.cpp,.h,.txt等等,
缺點:
沒有根據文件是否爲文本類型文件做判斷和處理
實現:
遞歸遍歷目錄
主要使用命令:
關聯數組,函數,參數,cat,wc
遞歸函數:根據傳遞的參數類型做處理,文件,記錄行數;目錄,遍歷並遞歸
7 function statistics()
8 {
9 if [ -f $1 ]
10 then
11 # 文件,檢查是否有此類文件
12 # 有,累加
13 # 沒有,創建
14 line=$(( $line + $(cat $1 | wc -l) ))
15 file=$1
16 file_type_array[${file##*.}]=$(( file_type_array[${file##*.}] + $(cat $1 | wc -l) ))
17 elif [ -d $1 ]
18 then
19 # 目錄,遞歸遍歷
20 for file in $1/*
21 do
22 statistics $file
23 done
24 fi
25 }