1. 基本统计(所有文件)
find . -type f -name "*.*" | xargs wc -l
这会统计当前目录及子目录下所有文件的行数。
2. 针对特定代码文件(例如 C/C++ 项目)
find . -type f \( -name "*.h" -o -name "*.cpp" -o -name "*.c" \) | xargs wc -l
3. 排除空行统计
find . -type f -name "*.py" | xargs grep -v '^$' | wc -l
4. 使用 cloc
工具(推荐)
sudo apt-get install cloc # Debian/Ubuntu sudo yum install cloc # CentOS/RHEL
cloc .
5. 快速统计(仅当前目录)
wc -l *.*
6. 统计特定语言(例如 Python)
find . -name "*.py" | xargs wc -l
7. 排除特定目录(例如排除 vendor
目录)
find . -type f -name "*.go" -not -path "./vendor/*" | xargs wc -l
8. 统计总行数(只显示总数)
find . -type f -name "*.java" | xargs wc -l | tail -1
选择最适合你项目的方法即可。对于大型项目,cloc
通常是最方便的选择。