shell语法报错:“awk: division by zero”

文本如下

[root@mx31 /home/mail/t/i/a/domains/tianyacapital.com]# shm_read -a |grep '^DOMAIN'|head -10|awk '{print $5"\t"$15"\t"$18}'
360champ.com    21    47
3fbiz.com    11    0
468724.cn    21    0
5u588.com    21    0
678game.com    16    0
9joycar.com    21    2
abdullahtrade.com    0    0
aiwi.com.cn    11    0
almoson.com.cn    11    0
alome.com.cn    61    16


我要计算$3与$2的比值,出现如下报错:原因是被除数出现了0,在数学里被除数是0的话,除法是无效的

[root@mx31 ~/crontab/statitstic]# shm_read -a |grep '^DOMAIN'|head -10| awk '{print $5"\t"$15"\t"$18}' |awk '{print $1"\t"$3/$2}'

360champ.com    2.2381
3fbiz.com    0
468724.cn    0
5u588.com    0
678game.com    0
9joycar.com    0.0952381
awk: division by zero
 input record number 7, file

 source line number 1

后来加以判断就可以了

 shm_read -a |grep '^DOMAIN'|head -10| awk '{print $5"\t"$15"\t"$18}' |awk '{if ( $2 != "0" ){print $1"\t"$3/$2}}'
360champ.com    2.2381
3fbiz.com    0
468724.cn    0
5u588.com    0
678game.com    0
9joycar.com    0.0952381
aiwi.com.cn    0
almoson.com.cn    0
alome.com.cn    0.262295
andy-karey.com    1.36364




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值