こんにちは、コードゴルフ界の飛ばし屋ですw*1
自分用のメモです。
アクティブセッション数の集計に使ったもの。レコードセパレータを段落に、フィールドセパレータを改行にしています。
perl -00 -F'\n' -lane '$sum=0;map{@line=split(q/,/,$_);$sum+=$line[2]}@F;printf(qq!%s/%s %s:%s:%s\t%d\n!,unpack(q/a2a2a2a2a2/,$line[0]),$sum)' session_active.log > active_session_cnt.tsv
さらに分単位の平均を算出しています。
perl -F'\t' -lane '$F[0]=~ s/:\d{2}$// and $h->{$F[0]}->{sum}+=$F[1] and $h->{$F[0]}->{cnt}++;END{map{printf(qq/%s\t%d\n/,$_,$h->{$_}->{sum}/$h->{$_}->{cnt})}sort keys %$h}' active_session_cnt.tsv
こちらは複数の statspack レポートから db file sequential read の Avg wait (ms) の平均を算出に使ったもの。
perl -lane 'if($_ =~ /^db file sequential read/ and $#F==8){$sum+=$F[7];$cnt++;print qq/$ARGV\t$_/;close ARGV};END{print $sum/$cnt}' *.lst
*1:id:ymotongpoo さんの「こんにちは、Python界の情弱です」にインスパイアされて思いついたので言ってみたかっただけです。特にコードゴルフとか意識してコードを書いていません。