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演算子を使ったのか分かりません。つまり、logより小さいか同等のログを選択すべきですか?「より小さい」演算子が条件で動作しない場合
これを明確にしてください。私は本当に終了時間のログを取得するために他のチェックを追加したくない。
''はい、両方 '<='と '壊れていると誰もがnow.' までそれに気づいていなかったle'':
簡単な修正は、接尾辞を取り除くことであろう –