使用Perl批量读取文件最后行

使用Perl批量读取文件最后行

面对成百上千个文件,有时我们需要查看它的最后行,单个文件打开将耗费大量时间,而通过Perl提取出最后行,将快速的帮助我们处理繁琐的事务。

特性


整个目录完全遍历,自动提取最后行

提取出的文件结构


847278-20170608104925965-375229525.png

Perl代码


#!/usr/bin/perl
use warnings;

###########################################
#./readlast_line.pl log/
###########################################

my $indir = $ARGV[0];

opendir DIR, $indir or die "Connot open $indir: $!";

unlink "temp_line";
open(OUTFILE, ">>temp_line") || die ("Could not open file temp_line ! \n");

foreach my $file (sort readdir DIR){            #遍历目录下的文件
    if($file =~ /^\./){
        next;
    }
    #print "$indir$file\n";
    print OUTFILE "\t\t    $indir$file  \t\t \n";   #输出文件名及其路径

    my $last_line = `tail -10 $indir$file`;         #反引号捕获
    print OUTFILE "$last_line \n";
    print OUTFILE "\n\n\n";                            #分割不同文件之间的换行
}

close OUTFILE;
rename 'temp_line','filelast_line';

print "\nOutput file: filelast_line\n";

转载于:https://www.cnblogs.com/OneFri/p/6961658.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值