awk -f describe.awk schedule.def describe.awk: BEGIN { # printf("\ndescribe %s\n\n", title); printf(" %-15s %-8s %3s %3s %-4s\n", "Name", "Type", "Len", "Wth", "Null"); printf(" %-15s %-8s %3s %3s %-4s\n", "---------------", "--------", "---", "---", "----"); } # Excluding comment lines, (starting w/#): /^[^#]/ { FS=","; printf(" %-15s %-8s %3s %3s %-4s\n", $1, $2, $3, $4, $5); } END { print ""; } schedule.def: # schedule.def # name,type,length,width,null Job,number,04,04,no Vendor,varchar,50,10,no DataType,varchar,20,15,no Src,varchar,25,20,no EDCPtcl,varchar,25,08,no Ptcl,varchar,10,08,no Dest,varchar,15,08,no Process,varchar,01,07,no Status,varchar,01,06,yes TransferDt,date,07,15,no output: Name Type Len Wth Null --------------- -------- --- --- ---- Job,number,04,04,no Vendor varchar 50 10 no DataType varchar 20 15 no Src varchar 25 20 no EDCPtcl varchar 25 08 no Ptcl varchar 10 08 no Dest varchar 15 08 no Process varchar 01 07 no Status varchar 01 06 yes TransferDt date 07 15 no