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