转载:统计项目文件个数或者代码行数的shell

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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"

  

  

posted @   韭菜茄子  阅读(58)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
历史上的今天:
2017-05-26 D3.js 使用缩放zoom时节点无法拖动,只能整体移动的问题
2017-05-26 D3.js force力导向图用指定的字段确定link的source和target,默认是索引
2017-05-26 D3.js 添加zoom缩放功能后dblclick双击也会放大的问题
点击右上角即可分享
微信分享提示