Linux awk使用案例教程

  <前>   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,,   之前   

  
  

Linux awk使用案例教程