[Perl系列二-实战] 1. Perl 读取代码的行数

前言

有的时候有这些需求:

1. 统计一个文件的行数

2. 统计一个源代码的有效行数。排除空行和注释行

3. 统一一个目录下各种文件的数量和行数

要达成这些需求,很多语言多可以做到, 但是使用Perl 应该是一个不错的选择

读取文件行数

读取一个文件的总行数(空行和注释都包含) 使用Perl 很简单

open(FILE ,<>);
my $lines_counter = 0;
while(<>)
{
$lines_counter += 1;
}
print "lines:  $lines_counter\n";  

当然,如果在linux 下就更简单了, 只需要敲入以下命令就可以了:

wc -l filename

源码代码行数(空格数)

统计一个源码文件的代码行数:传入参数: 文件的路径返回: 三个元素的数组; 分别是总行数, 空行行数 和注释行数注意: 这段代码目前基本使用于 Java, C, C++; 因为这里注释部分处理的是以下三种:

1.  // 行注释

2. 块注释

/*

*

*/

3.文件注释

/**

*

*/

完整代码:

源代码行数统计工具 (Perl 版本)

1. Code Line Counter

这个是一个收费的软件,
也有免费版,但有限制, 一次只能统计 10 份文件。

下载地址:

http://codelinecounter.bistonesoft.com/clcperl.htm

下载之后进行安装

运行之后的界面如下:

2. CLOC

这个应该是使用的比较多的工具了。

它可以统计一个路径下各种类型文件的数量, 总的空格,代码,注释的数量。 它也可以统计一个压缩包里面的文件的状况

项目的介绍路径:

http://cloc.sourceforge.net/index.html#Basic_Use

下载路径是:

http://sourceforge.net/projects/cloc/files/cloc/v1.60/

这里提供 Perl 的源码以及打包后的exe 文件。

作为工具来说, 下载 .exe 文件。 目前最新版的文件名是 cloc-1.60.exe

使用方式就是在命令行模式上, 输入:

cloc-1.60.exe  文件路径或者压缩包名

输出的结果类似:

[Perl系列二-实战] 1. Perl 读取代码的行数

时间: 2024-10-11 23:10:43

[Perl系列二-实战] 1. Perl 读取代码的行数的相关文章

C++统计代码注释行数 &amp; 有效代码行数 &amp; 代码注释公共行 &amp; 函数个数

问题来源,在14年的暑假的一次小项目当中遇到了一个这样的问题,要求统计C++代码的注释行数,有效代码行数,代码注释公共行数,以及函数个数. 下面稍微解释一下问题, 1)注释行数:指有注释的行,包括有代码和注释的公共行(如:3,4,15,22...) 2)有效代码行:指有代码的行,包括有代码和注释的公共行(如:1,4,11,15,25....) 3)代码注释公共行:指又有代码又有注释的行(如:4,15...) 4)函数个数:这个不用说明了吧. 以下为注释情况展示代码: 1 #include <st

python读取excel的行数

基于python3.x下 需要包 from openpyxl import load_workbook 代码如下: 1 from openpyxl import load_workbook 2 wb = load_workbook(filename=r'C:\\Users\\Administrator\\Desktop\\库存大表0803.xlsx') ##读取路径 3 ws = wb.get_sheet_by_name("Sheet1") ##读取名字为Sheet1的sheet表 4

统计源文件夹中代码的行数

public class LineCounter { public static void main(String[] args) { String path = "D:/workspace/LineCounter"; int count = getAllJavaFilesLineCount(new File(path)); System.out.println("总行数:" + count); } /** * 使用递归实现统计这个文件夹中(包含子孙文件夹中的)的所

一个简单的代码计算行数demo编写

最近手头的项目基本上已经完结,历经了5个月的开发和迭代,各种的需求调整,想对自己的代码量进行一个客观的计算,于是抽了点时间写下了这个小demo,朋友们有需要的可以看看,很简单. 基本的思想就是:根目录->递归的遍历所有文件夹>计算具体某一文件的代码行数 具体流程如下: #pragma mark---------------------->递归文件夹下文件 - (void)recordFilePathWithPath:(NSString *)path{ /*        文件管理器  

nodejs 像 C 语言那样输出当前代码的行数

http://stackoverflow.com/questions/11386492/accessing-line-number-in-v8-javascript-chrome-node-js 1 Object.defineProperty(global, '__stack', { 2 get: function(){ 3 var orig = Error.prepareStackTrace; 4 Error.prepareStackTrace = function(_, stack){ re

在vs2010中显示代码的行数

1.打开VS2010,然后"工具" → "选项" 2.在选项页面,点击"文本编辑器"→"所有语言",在显示里将[行号]选中,然后确定就OK. 2.这样子就出现行号了.

git统计日期之间的代码改动行数

git log --pretty=tformat: --since ==2016-10-25 --until=2016-10-27   --numstat | awk '{ add += $1 ; subs += $2 ; loc += $1 + $2 } END { printf "added lines: %s removed lines : %s total lines: %s\n",add,subs,loc }' 原文地址:https://www.cnblogs.com/zip

Python学习教程:如何用python统计代码行数

Python学习教程:如何用python统计代码行数 改良后的代码可以对python和C系列的代码实行行数计算,包括代码.空行和注释行,用re抓取注释,传入一个目录自动对其下的文件进行读取计算 流程 首先判断传入参数是否为文件夹,不是则打印出提示,否则继续(无返回),获得目录后,yongos.listdir对路径下文件进行遍历,其中也包含文件夹,再次判断是否为文件夹,是的话则递归调用此函数,否则开始执行行数统计,这里用os.path.join将路径与文件名进行拼接,方便之后直接传给函数,逻辑很简

shell编程--统计代码行数

引:之前都太懒,没有及时把学到的知识总结到博客里.最近在学shell编程,正好作为养成写博客习惯的开端.平时我们都会遇到一个问题,写完一个项目后,想统计一下总的代码量,当代码文件很多时,一个个点开代码文件,然后把代码行数加起来是一件很费神的事.shell可以用短短几行代码就搞定这个问题. 一 shell源码(code_linage.sh): 1 #!/bin/bash 2 3 if [ $# -eq 1 ] && [ -d $1 ] 4 then 5 find $1 -type f -na