1
my $path="/mnt/splash/logs/";
my $serv= sprintf("splash-%s-%02d%02d%02d-%s",$server,$year,$mon,$date,$hourStart);
my $eserv= sprintf("splash-%s-%02d%02d%02d-%s",$server,$eyear,$emon,$edate,$hourEnd);
print $serv;
print $eserv;
#OPEN THE SPLASH LOGS DIRECTORY AND READ THE FILES PRESENT THEN STORE IT IN ARRAY.
my $remote_dir=sprintf("ssh %s 'ls %s'",$server,$path);
chomp $remote_dir;
my @list=`$remote_dir`;
#FINDING THE ONLY SPLASH LOGS FILES FROM THE DIRECTORY AND STORED IN AN ARRAY USING PUSH METHOD.
my @srt_list= sort @list;
my @arlist=();
my @arrlog=();
my $i=0;
my $filt;
for(@srt_list) {
if ($_ ge $serv && $_ le $eserv) {
#my $filter= sprintf("$_\n");
chomp $_;
push (@arrlog, $_);
}
}
上面是我用來從數組中檢索日誌的perl代碼。我與ge
和le
運營商使用if
條件,但如果我搜索20160628-0400.log到20160629-1000.log之間的日誌文件,此代碼會將日誌從20160628-0400.log提供給20160629-0900.log,這是不檢索日誌搜索結束時間日誌20160629-1000.log。我不知道這是怎麼發生的我用le操作符,這意味着它應該選擇小於或等於登錄日誌的權限?「小於等於」操作符不工作if條件
請說明一點。我真的不想添加任何其他檢查來檢索結束時間日誌。
''是,既'<='和'le'被破壞,沒有人已經注意到它,直到now.' ' –