zoukankan      html  css  js  c++  java
  • awk 表达式

    awk动作表达式中的算数运算符

    awk动作表达式中的算数运算符

    案例演示

    使用awk计算/etc/services中的空白行数

    awk 'BEGIN{sum=0}/^$/{++sum}END{print sum}' /etc/services
    

    计算学生课程分数平均值,学生课程文件内容如下

    student.txt

    Allen    80    90    96    98
    Mike    93    98    92    91
    Zhang    78    76    87    92
    Jerry    86    89    68    92
    Han    85    95    75    90
    Li    78    88    98    100
    

      

    awk 'BEGIN{printf "%-20s%-20s%-20s%-20s%-20s%-20s
    ","Name","Chinese","English","Math","Physical","Average"}{sum=$2+$3+$4+$5;avg=sum/4}{printf "%-20s%-20d%-20d%-20d%-20d%-0.2f
    ",$1,$2,$3,$4,$5,avg}' student.txt
    

    awk 'BEGIN{num1=20;num2+=num1;print num1,num2}'
    

    awk 'BEGIN{num1=20;num2=30;print num1+num2}'
    

    awk 'BEGIN{num1=20;num2=30;print num1-num2}'
    

    awk 'BEGIN{num1=20;num2=30;print num1*num2}'
    

    awk 'BEGIN{num1=20;num2=30;print num1/num2}'
    

    保留小数后两位

    awk 'BEGIN{num1=20;num2=30;printf "%0.2f
    ",num1/num2}'
    

    awk 'BEGIN{num1=20;num2=3;printf "%0.2f
    ",num1**num2}'
    

    awk 'BEGIN{x=20;y=x++;print x,y}'
    

    awk 'BEGIN{x=20;y=++x;print x,y}'
    

    awk 'BEGIN{x=20;y=--x;print x,y}'
    

    输出平均值

    awk '{total=$2+$3+$4+$5;AVG=total/4}{printf "%-8s%-5d%-5d%-5d%-8d%0.2f
    ",$1,$2,$3,$4,$5,AVG}' student.txt
    

    加上标题并格式化输出

    awk 'BEGIN{printf "%-10s%-10s%-10s%-10s%-10s%-10s
    ","name","Yuwen","math","English","Pysical","Average"}{total=$2+$3+$4+$5;AVG=total/4}{printf "%-10s%-10d%-10d%-10d%-10d%-10.2f
    ",$1,$2,$3,$4,$5,AVG}' student.txt
    

      

      

      

      

      

  • 相关阅读:
    在Windows环境中使用版本管理工具Git [转]
    poj3630 Phone List **
    UVa10382 Watering Grass **
    软件项目计划书格式 [转]
    POI2001 Ants and the ladybug ***
    RMQ+1/1算法 [转]
    poj3264 Balanced Lineup *
    Windows Server 2003 出现的Service Unavailable怎么办?
    单车环佛山一环
    天凉了,大家多穿衣服
  • 原文地址:https://www.cnblogs.com/crazymagic/p/11154701.html
Copyright © 2011-2022 走看看