您是在从事项目工作,需要提交进度,统计数据,还是需要计算代码的价值? 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
计算当前正在运行的内核源代码(redhat /fedora)的行数:
$ cloc /usr/src/kernels/`uname -r`
有关更多信息和选项,请参见cloc
手册页man cloc