lineCounts4.awk revision 9155:a543d4525920
1169691Skan# 297403Sobrien# matching the following output specified as a pattern that verifies 397403Sobrien# that the numerical values conform to a specific pattern, rather than 497403Sobrien# specific values. 597403Sobrien# 697403Sobrien# S0 S1 E O M CCS YGC YGCT FGC FGCT GCT 797403Sobrien# 0.00 96.88 66.55 2.34 77.78 68.02 1 0.003 0 0.000 0.003 897403Sobrien# 0.00 96.88 71.58 2.34 77.78 68.02 1 0.003 0 0.000 0.003 997403Sobrien# 0.00 96.88 73.58 2.34 77.78 68.02 1 0.003 0 0.000 0.003 1097403Sobrien# 0.00 96.88 73.58 2.34 77.78 68.02 1 0.003 0 0.000 0.003 1197403Sobrien# 0.00 96.88 73.58 2.34 77.78 68.02 1 0.003 0 0.000 0.003 1297403Sobrien# 0.00 96.88 75.58 2.34 77.78 68.02 1 0.003 0 0.000 0.003 1397403Sobrien# 0.00 96.88 75.58 2.34 77.78 68.02 1 0.003 0 0.000 0.003 1497403Sobrien# 0.00 96.88 77.58 2.34 77.78 68.02 1 0.003 0 0.000 0.003 1597403Sobrien# 0.00 96.88 77.58 2.34 77.78 68.02 1 0.003 0 0.000 0.003 16169691Skan# 0.00 96.88 77.58 2.34 77.78 68.02 1 0.003 0 0.000 0.003 1797403Sobrien# S0 S1 E O M CCS YGC YGCT FGC FGCT GCT 1897403Sobrien# 0.00 96.88 79.58 2.34 77.78 68.02 1 0.003 0 0.000 0.003 1997403Sobrien 2097403SobrienBEGIN { 2197403Sobrien headerlines=0; datalines=0; totallines=0 2297403Sobrien datalines2=0; 2397403Sobrien } 2497403Sobrien 2597403Sobrien/^ S0 S1 E O M CCS YGC YGCT FGC FGCT GCT $/ { 2697403Sobrien headerlines++; 2797403Sobrien } 28169691Skan 2997403Sobrien/^[ ]*[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]+$/ { 3097403Sobrien if (headerlines == 2) { 3197403Sobrien datalines2++; 32169691Skan } 33169691Skan datalines++; 34103447Skan } 35103447Skan 36103447Skan { totallines++; print $0 } 37132720Skan 38103447SkanEND { 39103447Skan if ((headerlines == 2) && (datalines == 11) && (datalines2 == 1)) { 40103447Skan exit 0 4197403Sobrien } else { 4297403Sobrien exit 1 43132720Skan } 44132720Skan } 4597403Sobrien