awk 练习3

$ cat -A lab5.data1
Mike Harrington:(510) 548-1278:250:100:175
Christian Dobbi:(408) 538-2358:155:90:201
Susan Dalsass:(206) 654-6279:250:60:50
Archie McNichol:(206) 548-1348:250:100:175
Jody Savage:(206) 548-1278:15:188:150
Guy Quigley:(916) 343-6410:250:100:175
Dan Savage:(406) 298-7744:450:300:275
Nancy McNeil:(206) 548-1278:250:80:75
John Goldenrod:(916) 348-4278:250:100:175
Chet Main:(510) 548-5258:50:95:135
Tom Savage:(408) 926-3456:250:168:200
Elizabeth Stach:(916) 440-1763:175:75:300


要求写脚本达到以下效果:


        ***CAMPAIGN 1998 CONTRIBUTIONS***
________________________________________________________________________

NAME                         PHONE                   Jan  | Feb  | Mar  | Total Donated
________________________________________________________________________
Mike Harrington        (510) 548-1278    250   100     175        525
Christian Dobbi         (408) 538-2358    155   90       201        446
Susan Dalsass          (206) 654-6279    250   60       50          360
Archie McNichol        (206) 548-1348    250   100    175        525
Jody Savage              (206) 548-1278    15      188    150        353
Guy Quigley               (916) 343-6410     250   100    175        525
Dan Savage               (406) 298-7744     450   300    275        1025
Nancy McNeil            (206) 548-1278     250   80       75          405
John Goldenrod        (916) 348-4278     250   100     175        525
Chet Main                   (510) 548-5258     50     95        135        280
Tom Savage               (408) 926-3456     250  168      200        618
Elizabeth Stach          (916) 440-1763     175  75        300        550
_________________________________________________________________________

            SUMMARY
_________________________________________________________________________
The campaign received a total of $6137.00 for this quarter.
The average donation for the 12 contributors was $511.42.
highest contribution was $300.00
The lowest contribution was $15.00



$ awk -f awk.sc lab5.data1

                 ***CAMPAIGN 1998 CONTRIBUTIONS***
_________________________________________________________________
NAME            PHONE           JAN  |  FEB |  MAR | Total Donated
_________________________________________________________________
Mike Harrington (510) 548-1278  250     100     175     525
Christian Dobbi (408) 538-2358  155     90      201     446
Susan Dalsass   (206) 654-6279  250     60      50      360
Archie McNichol (206) 548-1348  250     100     175     525
Jody Savage     (206) 548-1278  15      188     150     353
Guy Quigley     (916) 343-6410  250     100     175     525
Dan Savage      (406) 298-7744  450     300     275     1025
Nancy McNeil    (206) 548-1278  250     80      75      405
John Goldenrod  (916) 348-4278  250     100     175     525
Chet Main       (510) 548-5258  50      95      135     280
Tom Savage      (408) 926-3456  250     168     200     618
Elizabeth Stach (916) 440-1763  175     75      300     550
_________________________________________________________________
                SUMARY
_________________________________________________________________
The campaign received a total of $6137.00 for this quarter.
The average donation for the 12 contributors was $511.42.
The highest contribution was $300
The lowest contribution was $15



这是我的代码:

$ cat awk.sc

BEGIN{FS=":"
print "\n"
print "\t\t ***CAMPAIGN 1998 CONTRIBUTIONS***"
print "_________________________________________________________________"
print "NAME\t\tPHONE\t\tJAN | FEB | MAR | Total Donated"
print "_________________________________________________________________"
highest = 0
lowest = 10000
}
{$6 = $3+$4+$5;print $1"\t"$2"\t"$3"\t"$4"\t"$5"\t"$6}
{total+=$6;average=total/12}
{if($5 > highest) highest = $5;}
{if($3 < lowest) lowest = $3;}
END{
print "_________________________________________________________________"
print "\t\tSUMARY"
print "_________________________________________________________________"
printf "The campaign received a total of $" "%2.2f\n",total" for this quarter."
printf "The average donation for the 12 contributors was $" "%2.2f\n",average"."
print "The highest contribution was $"highest
print "The lowest contribution was $"lowest
}

 


你可能感兴趣的:(脚本,F#,360)