Awk 啊,试着不被零除

Awk 啊,试着不被零除,awk,Awk,我试图用Awk划分两个字段(有时除数可能为零) 我想这是可行的:awk-F,{if($6!=0)print$3/$6}' 但是它被致命:被零除法尝试阻塞,尽管我认为“if”条件注意不要在字段6为零时除法 我在看什么?“酒吧”!=0如果$6是字符串,则比较失败,但当转换为除法的数字时,其计算结果为零。使用 if( $6 + 0 != 0) 如果($6+0!=0) 你也可以写“awk-F,$6!=0{print$3/$6}'…”。它不会解决问题,但它更地道。哎呀!这是一个很好的提醒,awk虽然非常适

我试图用Awk划分两个字段(有时除数可能为零)

我想这是可行的:
awk-F,{if($6!=0)print$3/$6}'

但是它被
致命:被零除法尝试
阻塞,尽管我认为“if”条件注意不要在字段6为零时除法

我在看什么?

“酒吧”!=0如果$6是字符串,则比较失败,但当转换为除法的数字时,其计算结果为零。使用

if( $6 + 0 != 0) 如果($6+0!=0)
你也可以写“awk-F,$6!=0{print$3/$6}'…”。它不会解决问题,但它更地道。哎呀!这是一个很好的提醒,awk虽然非常适合文本搜索,但不是为数学而设计的。谢谢,我也忘记了awk。这是语言或实现中的一个bug。如果一个看起来不像数字的字符串(如
条形图
)在与数值操作数相对的
+
等运算符下的行为类似于零,那么与使用关系运算符(如
=
)的数字相比,它的行为也应该类似于零。这可以很好地工作,同时保持在Awk范式中。