BEGIN {print "CHIPID_POS","CHIPID_BURNED","RESULT_WT","RESULT_MCMT" } /ChipID.*result/ { result_ka = 0; #default unusable dmem_error = 0; chipid_dec = $13; chipid_burned = chipid_dec; ret_code = $16; chipid_hex = $11 ""; #print chipid_dec,chipid_hex,ret_code; logfile = sprintf("%d/%s0x00000000.log", chipid_dec, chipid_hex); #print logfile; while ((getline aline < logfile) > 0) { where = match(aline, /wrong chipid want/); if (where != 0) { #print "chipid wrong!" split(aline,id," "); chipid_burned = id[16]; #print chipid_dec, chipid_burned; } if ((ret_code == 0 )) { where = match(aline, /ERROR in dmmtest/); if (where != 0) { dmem_error = 1; } } } if ((ret_code == 0) || (ret_code == 99) || (ret_code == 97) ) { if (dmem_error == 1) result_ka = 10; else result_ka = 1; } else if ((ret_code == 25) || (ret_code == 35)) result_ka = 2; else if (( ret_code == 20) || (ret_code == 21) || (ret_code == 39) || (ret_code == 98) ) result_ka = 3; else if ( ret_code == 24) result_ka = 4; else if (( ret_code == 34) || (ret_code == 43) || (ret_code == 44) || (ret_code == 11) || (ret_code == 10) || (ret_code == 33) || (ret_code == 14) || (ret_code == 15) || (ret_code == 16) || (ret_code == 12) ) result_ka = 5; else if ( ret_code == 37 ) result_ka = 9; else if ( ret_code == 49 ) # E_DMEM_MERGERONLY result_ka = 10; else if ( (ret_code == 3) || (ret_code == 41) || (ret_code == 40) || (ret_code == 26) || (ret_code == 5) || (ret_code == 18) || (ret_code == 46) || (ret_code == 6) || (ret_code == 52) ) result_ka = 0; else result_ka = 1111; print chipid_dec,chipid_burned,ret_code,result_ka; }