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 } --- EOF ---