lineCounts4.awk revision 0:37a05a11f281
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 P YGC YGCT FGC FGCT GCT 7# 0.00 99.99 66.81 1.24 26.55 1 0.028 0 0.000 0.028 8# 0.00 99.99 68.81 1.24 27.84 1 0.028 0 0.000 0.028 9# 0.00 99.99 70.81 1.24 27.84 1 0.028 0 0.000 0.028 10# 0.00 99.99 70.81 1.24 27.84 1 0.028 0 0.000 0.028 11# 0.00 99.99 70.81 1.24 27.84 1 0.028 0 0.000 0.028 12# 0.00 99.99 72.81 1.24 27.84 1 0.028 0 0.000 0.028 13# 0.00 99.99 72.81 1.24 27.84 1 0.028 0 0.000 0.028 14# 0.00 99.99 74.81 1.24 27.84 1 0.028 0 0.000 0.028 15# 0.00 99.99 74.81 1.24 27.84 1 0.028 0 0.000 0.028 16# 0.00 99.99 76.81 1.24 27.85 1 0.028 0 0.000 0.028 17# S0 S1 E O P YGC YGCT FGC FGCT GCT 18# 0.00 99.99 76.81 1.24 27.85 1 0.028 0 0.000 0.028 19 20BEGIN { 21 headerlines=0; datalines=0; totallines=0 22 datalines2=0; 23 } 24 25/^ S0 S1 E O P YGC YGCT FGC FGCT GCT $/ { 26 headerlines++; 27 } 28 29/^[ ]*[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]+$/ { 30 if (headerlines == 2) { 31 datalines2++; 32 } 33 datalines++; 34 } 35 36 { totallines++; print $0 } 37 38END { 39 if ((headerlines == 2) && (datalines == 11) && (totallines == 13) && (datalines2 == 1)) { 40 exit 0 41 } else { 42 exit 1 43 } 44 } 45