Maison > Questions et réponses > le corps du texte
我要统计一下我一个c工程的代码行数
wc -l *.c
只能统计当前文件夹,子文件夹搞不定
find . -name '*.c' | wc -l
统计出来的是文件数量。。。
怎么才能统计一个文件夹下边的所有c文件行数,包括子文件夹里的
ringa_lee2017-04-17 11:06:56
我曾经使用过一个windows下的工具,具体介绍在这里
http://code.google.com/p/boomworks/wiki/SourceCounterCN
能够统计包括:代码行数、注释、空行、文件大小等数据。
另外,还支持对软件开发项目的各个开发阶段的工数、成本、质量指标等进行分析和预测。
cloc网站上也介绍了一些
cloc Basic Use
prompt> cloc perl-5.10.0.tar.gz
4076 text files.
3883 unique files.
1521 files ignored.
http://cloc.sourceforge.net v 1.50 T=12.0 s (209.2 files/s, 70472.1 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
Perl 2052 110356 130018 292281
C 135 18718 22862 140483
C/C++ Header 147 7650 12093 44042
Bourne Shell 116 3402 5789 36882
Lisp 1 684 2242 7515
make 7 498 473 2044
C++ 10 312 277 2000
XML 26 231 0 1972
yacc 2 128 97 1549
YAML 2 2 0 489
DOS Batch 11 85 50 322
HTML 1 19 2 98
-------------------------------------------------------------------------------
SUM: 2510 142085 173903 529677
-------------------------------------------------------------------------------
PHP中文网2017-04-17 11:06:56
以前用 find + wc, 现在用cloc。
cloc 是 perl 编写的代码统计工具。不仅支持多种语言,还能计算空行和注释行。
大家讲道理2017-04-17 11:06:56
也可以用find的exec参数,然后用awk加起来。
find -name "*.c" -exec wc -l "{}" \; | awk '{s+=$1}END{print s}'
PHP中文网2017-04-17 11:06:56
find . -name "*.[ch]*" | xargs wc -l | grep "total" | awk '{ print $1}'
阿神2017-04-17 11:06:56
http://blog.csdn.net/tianmohu...
linux下如何统计一个目录下的文件个数以及代码总行数的命令
知道指定后缀名的文件总个数命令:
find . -name "*.cpp" | wc -l
知道一个目录下代码总行数以及单个文件行数:
find . -name "*.h" | xargs wc -l
find . -name "*.c" | xargs grep '^.' | wc -l //不包括空白行
wc -l find . -name "*.c "
//注意find内容被~下面的那个符号包着
linux统计文件夹中文件数目
第一种方法:
ls -l|grep “^-”|wc -l
ls -l