我正在尝试编写一个Perl脚本来解析日志,其中每行第二个值是日期.该脚本包含三个参数:输入日志文件,开始时间和结束时间.开始和结束时间用于解析每行之间的某个值,该值介于这两次之间.但为了正确运行这个,我将开始和结束时间转换为纪元时间.我遇到的问题是将循环'i'值转换回正常时间以与日志文件进行比较.运行后localtime($i)我打印了值,只看到打印的参考不是实际值.
这是我到目前为止的脚本(这是一项正在进行的工作):
#!/usr/bin/perl
use strict;
use warnings;
use Time::Local;
use Time::localtime;
use File::stat;
my $sec = 0;
my $min = 0;
my $hour = 0;
my $mday = 0;
my $mon = 0;
my $year = 0;
my $wday = 0;
my $yday = 0;
my $isdst = 0;
##########################
# Get the engine log date
##########################
my $date = `grep -m 1 'Metric' "$ARGV[0]" | awk '{print \$2}'`;
($year,$mon,$mday) = split('-', $date);
$mon--;
#########################################
# Calculate the …Run Code Online (Sandbox Code Playgroud)