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
    

      

      

      

      

      

  • 相关阅读:
    详解consul的安装和配置
    vs2017
    Android Bitmap 和 ByteArray的互相转换
    android中的byte数组转换(转)
    TensorFlow编译androiddemo
    Linux下命令行安装配置android sdk
    Warning: cast to/from pointer from/to integer of different size
    scribe 搭建遇到的问题
    参数依赖查找(ADL,Argument-dependent lookup)
    模板类继承后找不到父类函数的问题
  • 原文地址:https://www.cnblogs.com/crazymagic/p/11154701.html
Copyright © 2011-2022 走看看