Awk, пытаясь НЕ делить на ноль - PullRequest
8 голосов
/ 26 октября 2011

Я пытаюсь разделить два поля (где иногда делитель может быть равен нулю) с Awk.

Я думал, что это будет работать: awk -F, '{if ($6 != 0) print $3/$6}' <some file>

Но он задыхается от fatal: division by zero attempted, хотя я думал, что условие "если" позаботилось не делить, если поле 6 равно нулю.

Что я пропускаю?

1 Ответ

15 голосов
/ 26 октября 2011

"bar"! = 0. Если $ 6 - строка, сравнение не выполняется, но при преобразовании в число для деления оно оценивается как ноль.Используйте

if( $6 + 0 != 0)

вместо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...