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