当前位置: 首页>>技术教程>>正文


用cloc计数代码行

, ,
您是在从事项目工作,需要提交进度,统计数据,还是需要计算代码的价值? cloc是一个功能强大的工具,可让您计算代码的所有行,排除注释行和空格,甚至可以按编程语言对其进行排序。

cloc适用于所有主要的Linux发行版。安装cloc在您的系统上只需安装cloc来自系统软件包存储库的软件包:


DEBIAN/UBUNTU:
# apt-get install cloc
FEDORA/REDHAT/CENTOS
# yum install cloc

cloc按文件或目录工作。要计算代码的行数,只需指向cloc到目录或文件。让我们来创造my_project具有单个bash脚本的目录:


$ mkdir my_project
$ cat my_project/bash.sh 
#!/bin/bash

echo "hello world"

cloc计算我们的代码行数:


$ cloc my_project/bash.sh 
       1 text file.
       1 unique file.                              
       0 files ignored.

http://cloc.sourceforge.net v 1.60  T=0.00 s (262.8 files/s, 788.4 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Bourne Shell                     1              1              0              2
-------------------------------------------------------------------------------

现在让我们用perl代码添加另一个文件,并通过指向整个目录而不是单个文件来计数代码行:


$ cat my_project/perl.pl
#!/usr/bin/perl

print "hello world\n"
$ ls my_project/
bash.sh  perl.pl
$ cloc my_project/
       2 text files.
       2 unique files.                              
       0 files ignored.

http://cloc.sourceforge.net v 1.60  T=0.01 s (287.8 files/s, 863.4 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Perl                             1              1              0              2
Bourne Shell                     1              1              0              2
-------------------------------------------------------------------------------
SUM:                             2              2              0              4
-------------------------------------------------------------------------------

在下一个示例中,我们将在每一行分别打印每个文件的结果。这可以通过使用--by-file选项:


$ cloc --by-file my_project/
       2 text files.
       2 unique files.                              
       0 files ignored.

http://cloc.sourceforge.net v 1.60  T=0.01 s (149.5 files/s, 448.6 lines/s)
--------------------------------------------------------------------------------
File                              blank        comment           code
--------------------------------------------------------------------------------
my_project/perl.pl                    1              0              2
my_project/bash.sh                    1              0              2
--------------------------------------------------------------------------------
SUM:                                  2              0              4
--------------------------------------------------------------------------------

cloc可以从压缩文件中获取所有代码行的计数。在下一个示例中,我们已经计算了整个joomla项目的代码行,前提是我们已经下载了其压缩的源代码:


$ cloc /tmp/Joomla_3.3.1-Stable-Full_Package.zip

count lines of code - compressed file
计算当前正在运行的内核源代码(redhat /fedora)的行数:


$ cloc /usr/src/kernels/`uname -r`

count lines of kernel source code
有关更多信息和选项,请参见cloc手册页man cloc

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/10664.html,未经允许,请勿转载。