每天三分钟搞定linux shell脚本(50) gawk来了!!!gawk中使用分支语句,while和for语句

gawk中使用分支语句,while和for语句

在这里插入图片描述

1 gawk中使用分支语句

gawk中可以使用if-else这样的分支语句,其语法与C语言的语法相同,比如data5的内容为:

100 madashuai xiaozhang
200 fandebiao chuzi
300 yufugui   cunzhang

输入:

gawk '{if ($1 ==300){x=$1;x=x*x;print x}}' data5

运行后结果为:

90000

当然,gawk中也可以使用else ifelse语句,同样和C语言的语法相同,输入:

gawk '{if ($1==100) {print $1}else if($1 ==200 ){print $2} else {print $3}}' data5

运行后结果为:

100
fandebiao
cunzhang

2 gawk中使用while语句

gawk中可以使用while循环,语法与C语言相同,比如data6的内容如下:

1 2 3 4
5 6 7 8
9 10 -3 -99

输入:

gawk '{sum=0;i=1;while (i<=4){sum+=$i;i++;}avg=sum/3;print "average:",avg}' data6

运行后结果为:

average: 3.33333
average: 8.66667
average: -27.6667

上面的命令是把每一行的四个数字求和除以3然后打印出来。同时,gawk的while循环中也可以使用break和continue,输入

gawk '{sum=0;i=1;while (i<=4){sum+=$i;if (i==2){break}i++;}avg=sum/3;print "average:",avg}' data6

运行后结果为:

average: 1
average: 3.66667
average: 6.33333

3 gawk中使用for语句
gawk中使用for语句跟C语言相同,输入的data6文件内容为:

1 2 3 4
5 6 7 8
9 10 -3 -99

输入如下命令:

gawk '{sum=0;for (i=1;i<=4;i++){sum+=$i;}avg=sum/3;print "average:",avg}' data6 

运行后结果为:

average: 3.33333
average: 8.66667
average: -27.6667
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

涤除而玄览

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值