These are the files:
project2.phone:
Dave,7348389800
Barry,3131234567
Carl,2483445576
Marci,3134491390
Tom,2484962204
Alden,6165564458
project2.day:
Barry,tuesday
Carl,friday
Tom,sunday
Alden,wednesday
Dave,thursday
Marci,saturday
My output looks like this:
Day Name Phone
____________________________________
SUNDAY Tom 2484962204
MONDAY Nobody
TUESDAY Barry 3131234567
WEDNESDAY Alden 6165564458
THURSDAY Dave 7348389800
FRIDAY Carl 2483445576
SATURDAY Marci 3134491390
SUNDAY Tom 2484962204
I need the output to look like this:
Day Name Phone
____________________________________
SUNDAY Tom (248)496-2204
MONDAY Nobody
TUESDAY Barry (313)123-4567
WEDNESDAY Alden (616)556-4458
THURSDAY Dave (734)838-9800
FRIDAY Carl (248)344-5576
SATURDAY Marci (313)449-1390
SUNDAY Tom (248)496-2204
I can not get the phone numbers in correct format.
It only works when I use awk -F, -f project2.ksh project2.phone project2.day.
I need to be able to run ksh project2.ksh to get the output.
This is the script:
project2.ksh
BEGIN { split("SUNDAY;MONDAY;TUESDAY;WEDNESDAY;THURSDAY;FRIDAY;SATURDAY", week, ";") }
FNR == NR { name2phone[$1] = gensub(/([0-9]{3})([0-9]{3})(.*)/, "(\\1) \\2-\\3", "g", $2 )
next
}
{ day2name[toupper($2)] = $1 }
END { fmtstr= "%-10s\t%s\t%s\n"
printf(fmtstr,"Day","Name","Phone")
print "____________________________________"
for(d=1;d< length(week); d++ )
{
cname = (week[d] in day2name ) ? day2name[ week[d] ] : "NOBODY"
printf( fmtstr, week[d], cname, name2phone[ cname])
}
}
kshscript, it is anawkscript.