1# $Id$ 2# 3# Take a comma-separated list of page numbers and spit out all the 4# log records that affect those page numbers. 5 6NR == 1 { 7 npages = 0 8 while ((ndx = index(PGNO, ",")) != 0) { 9 pgno[npages] = substr(PGNO, 1, ndx - 1); 10 PGNO = substr(PGNO, ndx + 1, length(PGNO) - ndx); 11 npages++ 12 } 13 pgno[npages] = PGNO; 14} 15 16/^\[/{ 17 if (printme == 1) { 18 printf("%s\n", rec); 19 printme = 0 20 } 21 rec = ""; 22 23 rec = $0 24} 25/^ /{ 26 rec = sprintf("%s\n%s", rec, $0); 27} 28/pgno/{ 29 for (i = 0; i <= npages; i++) 30 if ($2 == pgno[i]) 31 printme = 1 32} 33/right/{ 34 for (i = 0; i <= npages; i++) 35 if ($2 == pgno[i]) 36 printme = 1 37} 38/left/{ 39 for (i = 0; i <= npages; i++) 40 if ($2 == pgno[i]) 41 printme = 1 42} 43 44END { 45 if (printme == 1) 46 printf("%s\n", rec); 47} 48