BEGIN { order["Jan"] = 10; order["Feb"] = 11; order["Mar"] = 12; order["Apr"] = 13; order["May"] = 14; order["Jun"] = 15; order["Jul"] = 16; order["Aug"] = 17; order["Sep"] = 18; order["Oct"] = 19; order["Nov"] = 20; order["Dec"] = 21; i = 0; while ("/bin/ls ../Calendar/[A-Z][a-z]*9[0-9]" | getline name) { name = substr(name, length("../Calendar/") + 1); match(name, "^[a-zA-Z]*"); month[i] = substr(name, 1, RLENGTH); year[i] = substr(name, RLENGTH+1); i++; } for (n = 0; n < i; n++) for (m = 0; m < n; m++) { if (year[m] order[substr(month[m],1,3)] > year[n] order[substr(month[n],1,3)]) { temp = year[m] year[m] = year[n] year[n] = temp temp = month[m] month[m] = month[n] month[n] = temp } } system("cp calendar.header Calendar.NEW") for (n = 0; n < i; n++) { print ";H1" month[n] year[n] >>"Calendar.NEW" close "Calendar.NEW" system("cat ../Calendar/" month[n] year[n] " >>Calendar.NEW") } }