in reply to returning a specific value from a command

We are not clairvoyants. Provide sample input from vmstat, then define clearly which part you want to extract.
  • Comment on Re: returning a specific value from a command

Replies are listed 'Best First'.
Re^2: returning a specific value from a command
by pvaldes (Chaplain) on Oct 28, 2011 at 15:06 UTC

    vmstat reports information about processes, memory, paging, block IO, traps, disks and cpu activity.

    the output is like this

    procs ------memory------- --swap-- ---io--- -system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 0 0 0 9999 9999 9999 0 0 99 99 9999 999 9 9 99 9

    Let's see...

    Your target is the 13th number in the third line, so you need to discard lines 1 and 2, and then print this element

    my @stat = `vmstat`; foreach $line(@stat){ if ($line =~ /^procs/){next} if ($line =~ /us/){next} else {chomp $line; my @fo = split /[[:blank:]]+/, $line; print "Message: CPU user time: $fo[13]\n";} }
      This is a HUGE help... Thanks very much!!!