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 #  S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT   
   7 #  0.00  93.76  28.80   1.82  77.74  68.02      1    0.005     0    0.000    0.005
   8 #  0.00  93.76  73.04   1.82  77.74  68.02      1    0.005     0    0.000    0.005
   9 #  0.00  93.76  73.04   1.82  77.74  68.02      1    0.005     0    0.000    0.005
  10 #  0.00  93.76  73.04   1.82  77.74  68.02      1    0.005     0    0.000    0.005
  11 #  0.00  93.76  75.00   1.82  77.74  68.02      1    0.005     0    0.000    0.005
  12 
  13 BEGIN   {
  14             headerlines=0; datalines=0; totallines=0
  15         }
  16 
  17 /^  S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT   $/   {
  18             headerlines++;
  19         }
  20 
  21 /^[ ]*[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]+$/  {
  22             datalines++;
  23         }
  24 
  25         { totallines++; print $0 }
  26 
  27 END     {
  28             if ((headerlines == 1) && (datalines == 5)) {
  29                 exit 0
  30             }
  31             else {
  32                 exit 1
  33             }
  34         }