# requirez(table.awk) # requirez(trim.awk) # requirez(columnNumbers.awk) BEGIN { table(Nums, "precise , xl , vl , l , n , h , vh , xh", " rely , , 0.75 , 0.88, 1.00 , 1.15, 1.40 , " \ ",data , , , 0.94, 1.00 , 1.08, 1.16 , " \ ",cplx , , 0.70 , 0.85, 1.00 , 1.15, 1.30 , 1.65"\ ",time , , , , 1.00 , 1.11, 1.30 , 1.66" \ ",stor , , , , 1.00 , 1.06, 1.21 , 1.56" \ ",virt , , , 0.87, 1.00 , 1.15, 1.30 , "\ ",turn , , , 0.87, 1.00 , 1.07, 1.15 , " \ ",acap , , 1.46 , 1.19, 1.00 , 0.86, 0.71 , " \ ",aexp , , 1.29 , 1.13, 1.00 , 0.91, 0.82 , " \ ",pcap , , 1.42 , 1.17, 1.00 , 0.86, 0.70 , " \ ",vexp , , 1.21 , 1.10, 1.00 , 0.90, , "\ ",lexp , , 1.14 , 1.07, 1.00 , 0.95, , " \ ",modp , , 1.24 , 1.10, 1.00 , 0.91, 0.82 , " \ ",tool , , 1.24 , 1.10, 1.00 , 0.91, 0.83 , " \ ",sced , , 1.23 , 1.08, 1.00 , 1.04, 1.10 , " ); table(Nums, "rounded , xl , vl , l , n , h , vh , xh", " rely , , 0.8 , 0.9 , 1.00 , 1.1, 1.2 , " \ ",data , , , 0.9 , 1.00 , 1.1, 1.2 , " \ ",cplx , , 0.8 , 0.9 , 1.00 , 1.1, 1.2 , 1.3"\ ",time , , , , 1.00 , 1.1, 1.2 , 1.3" \ ",stor , , , , 1.00 , 1.1, 1.2 , 1.3" \ ",virt , , , 0.9 , 1.00 , 1.1, 1.2 , "\ ",turn , , , 0.9 , 1.00 , 1.1, 1.2 , " \ ",acap , , 1.2 , 1.1, 1.00 , 0.9, 0.8 , " \ ",aexp , , 1.2 , 1.1, 1.00 , 0.9, 0.8 , " \ ",pcap , , 1.2 , 1.1, 1.00 , 0.9, 0.8 , "\ ",vexp , , 1.2 , 1.1, 1.00 , 0.9, , " \ ",lexp , , 1.2 , 1.1, 1.00 , 0.9, , " \ ",modp , , 1.2 , 1.10, 1.00 , 0.9, 0.8 , " \ ",tool , , 1.2 , 1.10, 1.00 , 0.9, 0.8 , " \ ",sced , , 1.2 , 1.1, 1.00 , 1.1, 1.2 , " ); } BEGIN { IGNORECASE = 1; OFS = FS = ","; Type = "precise"; IgnoreStr = "-2,-1"; Cnothing = "?"; Cheader = "="; } NR==1 { columnNumbers(IgnoreStr,Ignore,NF) } { gsub(/%.*/,"") gsub(/ /, "") } /^[ \t]*$/ { next } sub("^" Cheader,"",$1) { for(I=1;I<=NF;I++) Name[++Name[0]]= $I; print $0; next; } { for(I=1;I