#!/usr/bin/gawk -f BEGIN { FS = OFS = ","; IGNORECASE = 1; Criteria = "AR"; } NF==11 { Prediction = $(NF-1); Actual = $(NF); if (Actual == 0) Actual = 10^(-20); if (Prediction == 0) Prediction = 10^(-20); if (Actual == "inf") Actual = 10^(20); if (Prediction == "inf") Prediction = 10^(20); Performance = ""; if (Criteria == "AR") { AR = (Actual - Prediction); AR = (AR < 0 ? -1*AR : AR); Performance = AR; } else if (Criteria == "MRE") { MRE = (Actual - Prediction) / Actual; MRE = (MRE < 0 ? -1*MRE : MRE); Performance = MRE; } else if (Criteria == "MER") { MER = (Actual - Prediction) / Prediction; MER = (MER < 0 ? -1*MER : MER); Performance = MER; } else if (Criteria == "BRE") { if (Prediction - Actual >= 0) BRE = (Prediction - Actual) / Actual; else BRE = (Prediction - Actual) / Prediction; Performance = BRE; } else if (Criteria == "IBRE") { if (Prediction - Actual < 0) IBRE = (Prediction - Actual) / Actual; else IBRE = (Prediction - Actual) / Prediction; Performance = IBRE; } for (counter = 1; counter <= NF-2; counter++) printf("%s,",$counter); print Performance; }