写了一堆代码,那么,如何知道自己的代码量呢?下面是通过一行shell命令来统计某个目录下或某个源文件中代码的行数。
第一版本
find /home/yang/libnids-1.24/ -name *.c -or -name *.h -or -name *.cpp | xargs cat | wc -l
该版本统计目录“/home/yang/libnids-1.24”目录下的所有源文件(后缀名为c、cpp、h)中所有的行数,包括空行、和注释。
第二版本
find /home/yang/libnids-1.24/ -name *.c -or -name *.h -or -name *.cpp | xargs cat | grep -v ^$ | wc -l
这个版本添加了grep命令来去除空行:^$匹配空行,grep -v匹配与正则表达式相反的内容,这两者组合就可以去除空行。
第三版本
find /home/yang/libnids-1.24/ -name *.c -or -name *.h -or -name *.cpp | xargs cat | grep -v -e ^$ -e ^\s*\/\/.*$ | wc -l
该版本在第二版本基础上又过滤了以“//”开头的注释。因为“//”形式的注释可能不是在一行的最开始,在“//”的前边可能有一个或多个空格,因此\s*过滤空格。