cloc
- 可能大家都知道用
wc -l
命令进行代码行数统计,但是它会将代码中的注释、空行所占用的文本行都统计在内。如果想查看一个 tar 包或一个项目目录中“实际”的代码行数并且不愿意自己去写一个脚本来做此类工作,那么可以考虑使用 cloc。 - cloc 是一个 perl 脚本,它可以统计很多种编程语言的代码文件中的空行、注释以及实际的代码行数。
- cloc可以分析目录和tar包
安装cloc
- mac环境下直接使用brew install cloc安装
- ubuntu安装
wget https://fossies.org/linux/privat/cloc-1.80.tar.gz #下载相应的包,如果无法下载请访问相应的链接查看当前版本情况(此网站不会保留旧版本)
tar -zvxf cloc-1.80.tar.gz #解压压缩包
mv cloc-1.80 xxx/xxx/xx # 移动包至指定文件,根据你的喜好排放
cd cloc-1.80/ #进入文件
make install # 如果包中是如下文件类型,说明是编译过后可以直接使用的,如果不是就需要此命令编译一下
ls
cloc LICENSE README.md sqlite_formatter tests Unix
./cloc /home/www/main # 然后就可以直接使用cloc命令统计代码行数了,比如统计/home/www/main下的代码行数,必须在当前目录下运行
./cloc --diff xxx/xxx/xxx xxx/xxx/xxx #对比两个项目的代码差异
- 查看/分析结果
结果中根据语言进行分析,依次分别是语言、文件数、空行、注释代码行、实际代码行
19 text files.
18 unique files.
4 files ignored.
github.com/AlDanial/cloc v 1.80 T=0.03 s (500.7 files/s, 25380.2 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
XML 5 0 0 305
Python 5 56 37 168
HTML 3 3 0 85
JavaScript 1 6 6 71
CSS 1 9 13 50
YAML 1 0 0 2
-------------------------------------------------------------------------------
SUM: 16 74 56 681
------------------------------------------------------------------------------