添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

#! /usr/bin/perl
#如果运行perlscript 必须要安装perl,不能用绿色的。
#perllib 环境变量加上d:/perl/lib
use warnings;

sub countFileLine;
sub get_dir;

$totallines = 0;
$totalfiles = 0;
$totaldirs = 0;

my %filecatagorycount;
my %filecatagorysize;

get_dir @ARGV;
print "所有文件总行数:".$totallines . "   " .$totallines/10000;print "万行/n";
print "所有文件总数:".$totalfiles;print "/n";
print "所有文件夹总数:".$totaldirs;print "/n";
# 打印每种类型文件个数
foreach(sort keys%filecatagorycount) #排序
{
print "后缀名为【 $_ 】文件个数 => $filecatagorycount{$_}","   文件大小 => ",$filecatagorysize{$_}/1024/1024 ,"M","/n";
}
my @filter = qw(h cpp pro pri );
my $filtersize = 0;
foreach (@filter)
{
print "/t".$_ . "/n";
$filtersize+=$filecatagorysize{$_}/1024/1024;
#print; #打印默认变量
}
print "通过[ @filter ] 过滤后总大小为  ".$filtersize,"M/n";

# 读取文件行数

open (FILE, $dataFile) or print "Can't open $dataFile: $!";
my @fileList = <FILE>;
close (FILE);
my $totalfile += ($#fileList + 1);

这种方法只能读取较小文件。


# 读取文件行数
sub countFileLine
{
my $file = shift;
my $count = 0;
open (FH,"$file") or die "Can't open the file:$!/n";
++$count while (<FH>);    #####$count即为文件内容行数。如果每行长度一样的话,可以读取文件大小,然后除以每行的长度。
close FH;
my @lines = split(//./,$file);
my $linescount = @lines;
$filesize = -s $file;
#print $file.$filesize ; print "/n";
# 查处字符串长度
$len = rindex $lines[$linescount-1]."/$", "/$";
if($linescount > 1 && $len < 6)
{
$filecatagorycount{$lines[$linescount-1]}++;
$filecatagorysize{$lines[$linescount -1]}+= $filesize;
}
else
{
$filecatagorycount{"NOEXT"}++;
$filecatagorysize{"NOEXT"}+= $filesize;
}

#print @lines;print "/n";
# print "$count lines in $file/n";
$totallines += $count;
$totalfiles++;
}

# 读取目录文件行
sub get_dir
{
my $dir = shift;
print "$dir/n";
opendir (DIR,"$dir") or die "Can't open dir:$!";
my @file = readdir(DIR);
closedir(DIR);
foreach (@file)
{
next if $_ eq '.' or $_ eq '..';
my $file = "$dir/$_";
if (-d $file)
{
get_dir($file);
}
else
{
countFileLine($file) if -T $file;
}
}
$totaldirs++;
}

#! /usr/bin/perl#如果运行perlscript 必须要安装perl,不能用绿色的。#perllib 环境变量加上d:/perl/libuse warnings;sub countFileLine;sub get_dir;$totallines = 0;$totalfiles = 0;$totaldirs = 0;my %filecatagorycount;my %filecatagorysize;get_dir @ARGV;print "所有文件总行数:".$totallines . "
用法numlines = countlines(名称,选项) 输入- NAME: 文件 所在的 文件夹 名称或带有 文件 名的元胞数组(分别为 OPTION='dir' 和 ' file ') - 选项:'dir'(NAME 是一个 文件夹 )或 ' file '(NAME 是一个 文件 或一组 文件 ) 输出- NUMLINES:Nx2 元胞数组,其 N 是 文件 数,第一列是 文件 名,第二列是 行数
$ file name = 'test. file '; $lines = 0; open( FILE , $ file name) or die "Can't open `$ file name': $!"; while (sysread FILE , $buffer, 4096) { $lines += ($buffer =~ tr/\n//)...
代码 行数 统计 node环境先要安装 perl 真正的检验代码 行数 在工作 ,前端工作有时候需要代码 行数 统计 ,有一个很便捷的方式可以快速的 统计 各个类型的代码 行数 ,下面就来介绍一下简单的方法。 node环境 首先电脑需要有node环境,如果没有去node官网下载 添加链接描述 根据自己的系统找到对应的软件,去下载安装。检查是否安装过cmd调出 node -v看是否需要安装成功。 先要安装 perl 1、检查...
<br />#!/usr/bin/ perl -w<br /> open (H File ,"/usr/develop-program/conf.txt") || die "Open error $!";   # 打开固定路径文本,文本 字符以标点符号,空格隔开<br /> @ file =<H File >;    #将文本 文件 读入到数组 <br /> chomp @ file ;       #去掉回车<br /> close (H File );    #关闭 文件 <br /> foreach $_ (@ file