"Kipp, James" wrote: > I am reading output from a pipe to a command called 'prstat' (like top). > just wanted to get some ideas on the best way to capture the data i am > looking for. below is an example of the output:
# INPUTDATA is the filehandle through which you are getting the input while (<INPUTDATA>) { chomp; s/^\s+//; next if (m/^$/ || (1 .. /^NPROC/)); unless (/^Total/) { # Assumes the line to stop searching for input starts with Total my ($user, $mem, $cpu) = (split (/\s+/))[1, 4, 6]; print "user = $user, mem = $mem, cpu = $cpu\n"; } } close (INPUTDATA); > > -- > PID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/NLWP > > 13261 prago 5728K 5240K cpu49 0 0 0:40.04 9.4% cfprsdrv/1 > 20318 oracle 519M 496M cpu46 0 0 35:47.20 3.2% oracle/1 > 12924 prago 1720K 1056K sleep 1 0 0:06.55 1.6% zcat/1 > 21244 oracle 514M 494M sleep 0 0 0:00.01 0.3% oracle/1 > 21107 oracle 526M 507M sleep 0 0 0:00.13 0.3% oracle/1 > 13310 prago 392M 101M sleep 59 0 0:01.07 0.2% syncsort/1 > NPROC USERNAME SIZE RSS MEMORY TIME CPU > > 17 prago 1596M 394M 2.9% 0:48.54 11% > 47 oracle 13G 12G 91% 38:17.25 4.1% > 5 patrol 36M 23M 0.2% 10:53.17 0.2% > 11 dbmsys 52M 20M 0.1% 0:00.53 0.1% > 53 root 173M 113M 0.8% 5:32.40 0.1% > Total: 208 processes, 875 lwps, load averages: 2.03, 2.04, 2.12 > -- > > I want to capture some fields after the line starting with NPROC. the > problem is as you can see is the output columns change format after this > line. I want to capture the USERNAME MEMORY and CPU. > any ideas? > > thanks > jim > > -- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]