shell學習(一):統計文本行數腳本

最近突然迷上了shell,雖是新手,但是還是感受到了其功能的強大,寫了一個簡單的文本行數統計的小腳本,記錄一下!

功能:

統計一個文件或者一個目錄下所有文件的所有行數,並根據文件類型的不同而分別記錄,比如.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 }

代碼下載

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章