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"