首页 > 其他 > 详细

awk 表达式

时间:2019-07-08 23:21:45      阅读:112      评论:0      收藏:0      [点我收藏+]

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\n","Name","Chinese","English","Math","Physical","Average"}{sum=$2+$3+$4+$5;avg=sum/4}{printf "%-20s%-20d%-20d%-20d%-20d%-0.2f\n",$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\n",num1/num2}‘

技术分享图片

 

awk ‘BEGIN{num1=20;num2=3;printf "%0.2f\n",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\n",$1,$2,$3,$4,$5,AVG}‘ student.txt

技术分享图片

加上标题并格式化输出

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

技术分享图片

 

  

  

  

  

  

 

awk 表达式

原文:https://www.cnblogs.com/crazymagic/p/11154701.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!