AWK невозможно безопасно использовать системным администраторам
Простой пример. Нужно посчитать сумму чисел из входного потока. Откуда пользователь узнает, что awk собран с поддержкой больших чисел?
Получается, что легко можно получить некорректные данные. Как этого избежать?
Ответы (1 шт):
Для больших чисел используйте ключи -M, --bignum.
Откуда пользователь узнает что awk собран с поддержкой больших чисел?
А зачем пользователю это знать? Это должен предусмотреть разработчик, если ему это нужно учесть в своём скрипте. Посмотреть можно довольно просто:
$ awk -V | head -1
GNU Awk 5.2.1, API 3.2, PMA Avon 8-g1, (GNU MPFR 4.2.0, GNU MP 6.2.1)
где видим, что присутствует MPFR и MP, то есть всё ок и с опцией --bignum отработает как надо. Да и если используется данная опция для больших чисел, а сам awk не скомпилирован с нужными библиотеками, то по идее должно выдать предупреждение (инфа из мана):
-M, --bignum
Force arbitrary precision arithmetic on numbers. This
option has no effect if gawk is not compiled to use the
GNU MPFR and GMP libraries. (In such a case, gawk
is sues a warning.)
Ну или вот еще один можно попробовать способ посложнее — How To Check If MPFR Is Available.