暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Perl基础实例---计算文本行数

EasyPerl 2020-06-29
2308

我们在处理数据的时候, 有时候需要知道某个文本中的数据有多少行。 


今天我们来看看如何简单的计算文本的行数。 

比如, 我们有一个文件 test.txt, 我们需要知道它有多少行数据。 


我们来看第一种方法:

 调用系统命令wc, 在很多系统中, 内置了wc命令, 我们可以调用该命令来获取文件的行数。具体wc使用方法和参数可以参考该命令的help文档, 这里就不进行展开讨论了。


my $file = 'test.txt';


my $count = `wc -l < $file`;

die "failed to wc:$?" if $?;

chomp($count);

print "total: $count\n";


那么要是没有该命令呢, 或者我们希望在perl中来统计实现呢?

我们来看下面的处理方法:

my $count = 0;

open my $fh, '<', $file or die "failed to open file:$file\n";

$count++ while <$fh>;

close $fh;

print "total: $count\n";


我们每次读取一行, 将计数count进行加1, 因为我们不需要具体的内容, 一次直接丢弃具体的内容。

因为我们需要在perl中对文件进行读取, 因此效率没有上一种快, 不过对于一般情况, 差别还是不大的。


文章转载自EasyPerl,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论