<前>
awk脚本通常由以下3部分构成:
{开始,这里面放的是执行前的语句,}
最终获得{这里面放的是处理完所有的行后要执行的语句,}
{这里面放的是处理每一行时要执行的语句}
>之前
假如有以下表:
<前> 美元,cat score.txt Marry ,, 2143,, 78,, 84, 77 Jack ,,, 2321,, 66,, 78, 45 Tom ,,,, 2122,, 48,, 77, 71 Mike ,,, 2537,, 87,, 97, 95 Bob ,,,, 2415,, 40,, 57, 62 >之前统计所有人有总钱数,及平均情况的awk脚本:
<前> # !/bin/awk - f #运行前 BEGIN { ,,,math =0 ,,,english =0 ,,,computer =0 , ,,,printf “NAME ,,,没有一只,,MATH , ENGLISH , COMPUTER ,,总\ n" ,,,printf “- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ n" } #运行中 { ,,,数学+=3美元 ,,,英语+=4美元 ,,,电脑+=5美元 ,,,printf “% 6 s % 6 s % 4 d % 8 d % 8 d % 8 d \ n",,, 2美元,美元,3美元,4美元,5美元,美元,3 + 4 + 5美元 } #运行后 最终获得{ ,,,printf “- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ n" ,,,printf ,,,总:% 10 d % 8 d % 8 d \ n",,数学,英语,电脑 ,,,printf “平均:% 10.2 f % 8.2 f % 8.2 f \ n",,数学/NR,,英语/NR、计算机/NR } >之前输出结果:
<前> NAME ,,,没有一只,,MATH , ENGLISH COMPUTER ,,总 -------------------------------------------------- Marry , 2143,,,,, 78,,,,,,, 84,,,,,,,, 77,,,,,, 239 Jack ,,,, 2321,,,,, 66,,,,,,, 78,,,,,,,, 45岁,,,,,,189 2122年Tom ,,,,,,,, 48个,,,,,,,77,,,,,,,71,,,,,,,196 2537年Mike ,,,,,,,, 87,,,,,,, 97,,,,,,,, 95,,,,,, 279 Bob ,,,, 2415,,,,,, 40岁,,,,,,,57岁,,,,,,,,62,,,,,159 -------------------------------------------------- 总:,,,,,,,,,319,,,,,,393,,,,,,350 平均:,,,,63.80,,,,78.60,70.00,, >之前