Linux程序设计(Linux shell编程的例子:统计代码行数)


各位看官们,咱们今天还是接着上一回的内容,列举具体的例子给大家。闲话休说,言归正转。


各位看官们,在实际的工作中经常需要统计代码行数。不知道看官们有什么好的统计方法?大家都不说话。

看来是没有,接下来咱们说几种方法来统计代码行。


使用工具统计代码行:现在的集成开发工具都有显示行号的功能。比如Visual Studio系列,Eclipse。

大部分的文本工具也能显示文件行号,比如咱们前面说的Gedit,Vim.Windows环境下的Notepad++等。

使用这些工具打开文件,然后打开显示行号的功能,到文件尾就能清楚的看到文件的行号,通过工具看到

的行号和代码行数是等价的。


使用命令统计代码行:Linux中cat和wc命令都可以统计文件的行数。具体的命令如下:

cat -n FileName。或者cat -b FileName.

wc -l FileName


接下来咱们通过举例子来说明,如何使用这些命令来统计代码行。

首先打开/home/test/a.c并且输入以下内容,然后保存该文件。

#include


int main(void)

{

    printf("hello \n");

    return 0;

}


打开终端,在终端中输入cat -n /home/test/a.c命令,执行该命令后可以得到以下结果:

  1    #include

  2    

  3    int main(void)

  4    {

  5        printf("hello \n");

  6        return 0;

  7    }

看官们可以看到该命令实际上是在代码前面加了行号,它和使用工具统计代码行的方法在本质上相同。


在终端中输入cat -b /home/test/a.c命令,执行该命令后可以得到以下结果:

  1    #include


  2    int main(void)

  3    {

  4        printf("hello \n");

  5        return 0;

  6    }


看官们,对比这两个命令的结果,可以看到,选项n可以给所有行加上行号,选项b只给非空白行加行号,

如果不想统计空白行,或者说想统计有效的代码行,可以使用选项b。


在终端中输入:wc -l /home/test/a.c命令,执行该命令后可以得到以下结果:

7 /home/test/a.c

该结果前面的数字7表示a.c文件中有7行代码。


对比cat和wc这两个命令可以发现,cat命令是通过显示行号的方式来统计代码行,它不仅统计了代码行

数,而且也把每行的内容显示了出来。wc命令只显示具体的行数,不会显示每行的内容。从这两个命令的

执行结果可以看出,wc在统计代码行数上更加专业一些。


看官们,在实际的工作中,需要统计的文件通常不止一个,下面通过例子来介绍一种统计多个文件代码行

的方法。在/home/test/目录中再新建2个和a.c内容一样的文件,分别取名叫a1.c和a2.c。然后在终端中执

行下面的命令:

find /home/test/ -name "*.c" | xargs wc -l


命令执行的结果如下:

7 /home/test/a.c

7 /home/test/a1.c

7 /home/test/a2.c


该命令结合了find和wc两种命令,它把find命令的结果当作了wc命令的操作对象,这主要归功于管道和

xargs命令。find命令的结果通过管道变成了xargs命令的输入,而xargs命令又把它的输入当作参数传

递给了wc命令,所以达到了统计多个文件代码行数的效果。


各位看官们,今天的例子就到此为止,欲知后面还有什么好的例子,且听下回分解。

你可能感兴趣的:(Linux程序设计)