📄 eric_hlr_js_parser.p
字号:
#!/usr/local/perl5/bin/perluse FileHandle;use integer;use AdvTime;my( $usage );$usage = "\nUsage:\t$0 <data source file> <output directory> <start_time> <hlrName>\n\n";#main program my $source_file_org = $ARGV[0]; my $dest_dir = $ARGV[1]; my $ne_name = $ARGV[2]; die $usage if(!($source_file_org && $dest_dir && $ne_name )); my ( $source_file, $dest_file, $start_time , $end_time ); $source_file = `ls $source_file_org`; chomp $source_file ; $dest_file = $dest_dir."/"."hlr_sub_js.txt" ; my $source_r = new FileHandle("$source_file") || die "can not open $source_file\n"; my ( $line , $sub_in_hlr , $sub_in_achlr ); while( $line = <$source_r> ){ if( $line =~ m/^\s*501\s+ASD\s+THRESH1\s+\d+\s+(\d+)\s*$/ ){ $sub_in_hlr=4*$1 ; next ; } if( $line =~ m/^\s*261\s+THRESH1\s+\d+\s+(\d+)\s*$/ ){ $sub_in_achlr = $1; } } close($source_r);# process stop time $start_time = `date '+%Y-%m-%d %H' `; chomp($start_time); $start_time .= ":00:00"; $time_hd = new AdvTime(FORMAT=>"%0.4dYY-%0.2dMM-%0.2dDD %0.2dhh:%0.2dmm:%0.2dss") || die $@; $time_hd->SetTime($start_time); $stop_time = $time_hd->fetch("+1 hour");# output to dest file my $dest_r = new FileHandle("$dest_file") ; my @all_line =(); if( $dest_r ){ @all_line = <$dest_r> ; close($dest_r); } my $maxLines = 72 ; my $realLines = @all_line ; my @out_line ; if($realLines > $maxLines ){ for($i = 0 ; $i< $maxLines ; $i++){ $out_line[$i] = $all_line[$realLines-$maxLines+$i]; } $realLines = $maxLines ; }else{ @out_line = @all_line ; } my $dest_w = new FileHandle(">$dest_file") || die "can not open $dest_file\n"; for($i = 0 ; $i< $realLines ; $i++){ print $dest_w "$out_line[$i]"; } print $dest_w "$start_time\t$stop_time\t$ne_name\t$sub_in_hlr\t$sub_in_achlr\n";#end main program
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -