
Linux1. 统计所有文件总行数最常用gitls-files|xargswc-l2. 统计特定类型文件如 .cs 文件gitls-files|grep\.cs$|xargswc-l3. 统计多种类型文件gitls-files|grep-E\.(cs|h|cpp)$|xargswc-l4. 按文件类型分组统计gitls-files|xargswc-l|sort-rn|head-205. 排除特定目录如 bin/objgitls-files|grep-v-E(bin/|obj/|node_modules/)|xargswc-l6. 只看 src 目录gitls-files src/|xargswc-l7. 统计提交历史中的代码变更量gitlog--prettytformat:--numstat|awk{ add $1; del $2 } END { printf 新增: %s 行\n删除: %s 行\n总计变更: %s 行\n, add, del, adddel }8. 统计当前工作区含未提交文件find.-name*.cs-not-path*/bin/*-not-path*/obj/*|xargswc-l推荐用法排除 bin/obj只看源码gitls-files|grep-E\.(cs|h|cpp|c)$|grep-v-E(bin/|obj/|node_modules/|packages/)|xargswc-lWindowsPowerShell推荐# 统计所有 git 跟踪文件(git ls-files|ForEach-Object{Get-Content$_|Measure-Object-Line|Select-Object-ExpandPropertyLines}|Measure-Object -Sum).Sum# 统计 .cs 文件(git ls-files|Where-Object{$_-match\.cs$}|ForEach-Object{Get-Content$_|Measure-Object-Line|Select-Object-ExpandPropertyLines}|Measure-Object -Sum).Sum# 排除 bin/obj按类型分组gitls-files|Where-Object{$_-match\.(cs|h|cpp)$-and$_-notmatch(bin|obj|node_modules)}|ForEach-Object{$lines(Get-Content$_).Count;[PSCustomObject]{File$_;Lines$lines}}|Sort-Object Lines-Descending|Select-Object-First20最快方式PowerShell 一行(git ls-files|ForEach-Object{(Get-Content$_).Count}|Measure-Object -Sum).Sum