perl脚本-获取每天早上9:00到21:00每小时的随机100条日志,完整代码。
 
#!/usr/bin/perl
use strict;
use warnings;
our $logfile = "/var/log/messages";
our $curdir = `pwd`;
chomp $curdir;
our $curdate = `date '+%Y_%m_%d'`;
our $savefile = "$curdir/savelog.$curdate";
open (FDIN,"< $logfile");
open (FDOUT,"> $savefile");
while (my $pline = <FDIN> ) {
 no strict;
 my @tnum = split (/ |:/,$pline,4);
 unshift @{$tnum[2]},$pline;
}
close FDIN;
foreach (9..21) {
 no strict;
 my $llength = scalar @$_;
 if ($llength <= 100){
  print FDOUT $_ foreach (@$_);
 }
 else {
  my $sum=0;
  while($sum <= 99){
   my $nr = int(rand($llength));
   if (defined(${$_}[$nr])){
print FDOUT ${$_}[$nr];
delete ${$_}[$nr];
++$sum;
   }
  }
 }
}