一句shell命令搞定代码行数统计

原创 2015年11月12日 13:29:18

最粗略版

Shell代码  收藏代码
  1. find . -name "*.java"|xargs wc -l|grep "total"|awk '{print $1}'  
  2. find . -name "*.java"|xargs cat|wc -l    #Output:37634  

上面的两句效果一样,只不过第二种是先利用cat将多个java文件的内容合并输出了。然后再统计。

不过两个都有共同的毛病——连文件里面的空行都给统计进去算作一行了。

去除空行版

Shell代码  收藏代码
  1. find . -name "*.java"|xargs cat|grep -v ^$|wc -l    #Output:36335  
这个版本靠谱一些了,可以看到去掉空行之后的统计结果变为了:36335,比上个版本干掉了1299行的空行。。。 

但是,java代码还有注释呢啊?!Fuck,还得干掉注释!

去除注释版

Shell代码  收藏代码
  1. # exclude the lines begin with //  
  2. find . -name "*.java"|xargs cat|grep -v -e ^$ -e ^\s*\/\/.*$|wc -l    #Output:36064  

好,这个方法发现,以//开头的注释有36335-36064=271行。这里需要注意的是,注释行未必就以//作为开头,可能N个空格之后才开始的的//,所以匹配时需要加上上面的^\s*放在开头。

大功告成啦?扯淡!!!

java里面注释好几种风格,再给你看看这个非常常见的注释,还是会在统计结果里面

Java代码  收藏代码
  1. /** 
  2.  * @author xxx 2012-6-15 下午3:19:47 
  3.  */  

咋搞?这种注释我还真没想好怎么方便的除去,简单粗暴的方法但是可以在上面grep的参数里面再加入3个正则,分别去除以/**、*、*/开头的行。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

一行shell命令实现代码行数统计

shell find 代码统计方法大全

统计项目代码行数Count Lines of Code(CLOC)

统计代码总行数挺麻烦的 VS2010里虽然有Code Metrics Analyze 但这个工具只能用在托管的项目中 于是在这里找到一个小的命令行工具统计代码行数 用法很简单 如下(转自Wiki) ...

Git代码行统计命令集

统计某人的代码提交量,包括增加,删除: git log --author="$(git config --get user.name)" --pretty=tformat: --numstat | ...
  • Dwarven
  • Dwarven
  • 2015年06月18日 17:11
  • 10492

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

如何统计代码行数

如何统计代码行数 linux下提供了很多实用工具,甚至在安卓上,都有移植的busybox包含这些工具。根据KISS理念,这些工具的功能很单一。但这些工具组合起来,就可以很方面的统计代码量了。 ...

Linux下统计代码行数--wc命令

Linux下统计代码行数 Linux系统提供了wc命令来统计文件的行数 统计当前目录下的所有文件行数: wc -l * 当前目录以及子目录的所有文件行数: find  . * | xar...
  • Dijason
  • Dijason
  • 2013年06月04日 16:51
  • 21883

shell统计代码行数

写了一堆代码,那么,如何知道自己的代码量呢?下面是通过一行shell命令来统计某个目录下或某个源文件中代码的行数。 第一版本 find /home/yang/libnids-1.24/ -name...

MyEclipse 统计代码行数的两种方法

1.search->file 如图:点search 2.点选工程名->右键properties->MyEclipse->update

VS2015 中统计整个项目的代码行数

在一个大工程中有很多的源文件和头文件,我如何快速统计总行数? ------解决方案-------------------- b*[^:b#/]+.*$ ^b*[^:b#/]+.*$ c...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:一句shell命令搞定代码行数统计
举报原因:
原因补充:

(最多只允许输入30个字)