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


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

面對成百上千個文件,有時我們需要查看它的最后行,單個文件打開將耗費大量時間,而通過Perl提取出最后行,將快速的幫助我們處理繁瑣的事務。

特性


整個目錄完全遍歷,自動提取最后行

提取出的文件結構


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";


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM