[ PLEASE!  Do not top-post. ]

[ Please remove any text not required for context. ]


On Friday 07 December 2007 12:41, [EMAIL PROTECTED] wrote:
> 
> On Fri, 7 Dec 2007, John W.Krahn wrote:
> >
> > On Friday 07 December 2007 04:36, [EMAIL PROTECTED]
> > wrote:
> >>
> >> I am not very good at perl however our systems use it and I am
> >> trying to write a few scripts to help our staff.
> >>
> >> I am trying to calculate the average CPU utilisation from a log
> >> file which is automatically generated.
> >
> > I would write it something like this:
> >
> > use strict;
> > use warnings;
> >
> > my $file = $ARGV[ 0 ] || 'pickcpua.dat';
> >
> > open my $CPUFILE, '<', $file or die "Unable to open '$file' $!";
> >
> > my ( $total, $count );
> > while ( <$CPUFILE> ) {
> >    next unless /
> >        ^
> >        (?: Mon | Tue | Wed | Thu | Fri | Sat | Sun )
> >        \s+
> >        (?: Jan | Feb | Mar | Apr | May | Jun |
> >            Jul | Aug | Sep | Oct | Nov | Dec )
> >        \s+
> >        \d\d
> >        \s+
> >        \d\d : \d\d : \d\d
> >        \s+
> >        ( \d+ )
> >        /x;
> >    $total += $1;
> >    $count++;
> >    }
> >
> > my $average = $total / $count;
> >
> > print "Average CPU Time for all servers in $file file is 
$average\n";
> >
> > __END__
> 
> Hi John

Hello Andrew,

> If you're using Linux you could use cut in a shell script,

I could?  How would I do that, and why would I want to?

> but if
> you're not then the following one liner will extract the column:-
> perl -alne 'print $F[4];' <data file>

And then what?  How do you get the averages from that?

> One thing to take care with is the supposed space delimiter betwee
> the columns,

The OP has shown us the data file and it sure looks like the columns 
are separated by whitespace.  What makes you think that they are not?

> it can often be a tab character.

Which is a whitespace character.

> Pulling the lines
> into a file then looking at the file with the vim editor with set
> list on will highlight them.

I don't, as a rule, use vim.  So, how would you do that?

> There are other ways to get the cilumn
> using a regular expression.

Can you provide examples of these "other ways"?



John
-- 
use Perl;
program
fulfillment

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to