码迷,mamicode.com
首页 > 其他好文 > 详细

awk 表达式

时间:2019-07-09 00:29:39      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:技术   格式化   print   ice   lis   bsp   案例   ica   src   

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 表达式

标签:技术   格式化   print   ice   lis   bsp   案例   ica   src   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!