Pulling data and following lines from file

I saw a few posts close to what i want to do, but they didn't look like they would work exactly.. or I need to think out of the box on this.

I have a file that I keep server stats in for my own performance analysis. this file has the output from many commands in it (uptime, vmstats, ps, swap space) . I have since rewritten my monitoring, but now I need to go back and pull only the vmstats and its response out of my files for 2004.

I wrote a script that can walk through the file one line at a time and look for the value vmstat and pull out the date in the following line (see below file excerpt) but I can' t figure out how to tell the script to pull the lines with the actual data. I really only want the cpu idle column with a date in my output:
Example, I want my output to be:

2004.07.01[00:04:03] 42
2004.07.01[00:04:03] 48

etc.

my input file excerpt:

Unix Uptime
2004.07.01[00:04:03]

00:04 up 4 days, 11:49, 34 users, load average: 22.66, 25.20, 25.54

vmstat 2 5
2004.07.01[00:04:03]

Virtual Memory Statistics: (pagesize = 8192)
procs memory pages intr cpu
r w u act free wire fault cow zero react pin pout in sy cs us sy id
33 849 38 278K 34K 200K 96M 16M 47M 3M 17M 457K 665 9K 8K 42 18 40
29 854 38 280K 33K 200K 6112 657 3917 0 617 0 595122K 10K 48 52 0
36 847 37 279K 34K 200K 4380 145 3598 0 112 0 687 77K 10K 55 45 0
28 857 39 279K 34K 200K 2310 447 1325 0 396 0 608 65K 10K 58 42 0
33 852 38 279K 33K 200K 3569 268 2399 0 284 0 611129K 10K 53 47 0

swap space
2004.07.01[00:04:16][/FONT]

This works for me... Note that the first line of output would be the average CPU idle time since last reboot. If you want user or system space CPU usage, change $18 to $16 or $17 to grab the field you want.

$ cat ./input.awk
#! /usr/bin/awk -f

/vmstat/ {
   getline
   datestamp = $0
}

/r w u act/ {
  { while ( $0 !~ /^$/ ) {
      getline
      if ( $0 != "" ) {
        printf( "%s %s\n", datestamp, $18 )
      }
    }
  }
}
$ cat ./input
Unix Uptime
2004.07.01[00:04:03]

00:04 up 4 days, 11:49, 34 users, load average: 22.66, 25.20, 25.54

vmstat 2 5
2004.07.01[00:04:03]

Virtual Memory Statistics: (pagesize = 8192)
procs memory pages intr cpu
r w u act free wire fault cow zero react pin pout in sy cs us sy id
33 849 38 278K 34K 200K 96M 16M 47M 3M 17M 457K 665 9K 8K 42 18 40
29 854 38 280K 33K 200K 6112 657 3917 0 617 0 595 122K 10K 48 52 0
36 847 37 279K 34K 200K 4380 145 3598 0 112 0 687 77K 10K 55 45 0
28 857 39 279K 34K 200K 2310 447 1325 0 396 0 608 65K 10K 58 42 0
33 852 38 279K 33K 200K 3569 268 2399 0 284 0 611 129K 10K 53 47 0

swap space
2004.07.01[00:04:16]
$ ./input.awk input
2004.07.01[00:04:03] 40
2004.07.01[00:04:03] 0
2004.07.01[00:04:03] 0
2004.07.01[00:04:03] 0
2004.07.01[00:04:03] 0
$

Cheers
ZB

Glad you reminded me to skip the first line too. !!

thanks!