轉載:統計項目文件個數或者代碼行數的shell

ls -lR|grep "^d"|wc -l  //統計文件夾下目錄的個數,包括子文件夾裏的
ls -lR|grep "^-"|wc -l	//統計當前文件夾下文件的個數,包括子文件夾裏的 

ls -l |grep "^d"|wc -l	//統計當前文件夾下目錄的個數
ls -l |grep "^-"|wc -l  //統計當前文件夾下文件的個數
sed -n '$=' file        // 統計文件行數

#!/bin/bash
filesCount=0
linesCount=0
function funCount(){
    # 排除node_modules、dist目錄
    exclude=$(echo "$1" | grep -E 'node_modules\b|dist\b')
    if [[ $exclude = "" ]]
    then
      for file in ` ls $1 `;
      do
          if [ -d $1"/"$file ];then
              funCount $1"/"$file
          else
              declare -i fileLines
              fileLines=`sed -n '$=' $1"/"$file`
              let linesCount=$linesCount+$fileLines
              let filesCount=$filesCount+1
          fi
      done
     else
       echo "排除的目錄$exclude"
    fi;
}

if [ $# -gt 0 ];then
    for m_dir in $@
    do
        funCount $m_dir
    done
else
    funCount "."
fi
echo "filesCount = $filesCount"
echo "linesCount = $linesCount"

  

  

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