1 #
   2 # matching the following output specified as a pattern that verifies
   3 # that the numerical values conform to a specific pattern, rather than
   4 # specific values.
   5 #
   6 # NGCMN    NGCMX     NGC     S0C   S1C       EC      OGCMN      OGCMX       OGC         OC       MCMN     MCMX      MC     CCSMN    CCSMX     CCSC    YGC    FGC   CGC 
   7 #  4096.0 657408.0   8192.0  512.0  512.0   3072.0     6144.0  1312768.0     6144.0     6144.0    512.0 132096.0   5120.0    512.0 131072.0    512.0      1     0    0
   8 
   9 
  10 
  11 
  12 BEGIN   {
  13             headerlines=0; datalines=0; totallines=0
  14         }
  15 
  16 /^ NGCMN    NGCMX     NGC     S0C   S1C       EC      OGCMN      OGCMX       OGC         OC       MCMN     MCMX      MC     CCSMN    CCSMX     CCSC    YGC    FGC   CGC $/      {
  17             headerlines++;
  18         }
  19 
  20 /^[ ]*[0-9]+\.[0-9]+[ ]*[0-9]+\.[0-9]+[ ]*[0-9]+\.[0-9]+[ ]*[0-9]+\.[0-9]+[ ]*[0-9]+\.[0-9]+[ ]*[0-9]+\.[0-9]+[ ]*[0-9]+\.[0-9]+[ ]*[0-9]+\.[0-9]+[ ]*[0-9]+\.[0-9]+[ ]*[0-9]+\.[0-9]+[ ]*[0-9]+\.[0-9]+[ ]*[0-9]+\.[0-9]+[ ]*[0-9]+\.[0-9]+[ ]*[0-9]+\.[0-9]+[ ]*[0-9]+\.[0-9]+[ ]*[0-9]+\.[0-9]+[ ]*[0-9]+[ ]*[0-9]+[ ]*[0-9]+$/      {
  21             datalines++;
  22         }
  23 
  24         { totallines++; print $0 }
  25 
  26 END     {
  27             if ((headerlines == 1) && (datalines == 1)) {
  28                 exit 0
  29             }
  30             else {
  31                 exit 1
  32             }
  33         }
--- EOF ---