首页 > 解决方案 > awk 乘法给我的值与 2 个数字的正常乘法不同

问题描述

dummy.txt 有以下数据

3 19108601157904265

当我尝试使用以下命令进行算术计算时

awk '{ print $1, ($1-1) * $2 }' dummy.txt

我得到的答案是

3 38217202315808528

但应该是

3 38217202315808530

正常的命令行计算给了我预期的价值。

>a=2
>b=19108601157904265
>echo $(( a * b ))
>38217202315808530

不知道为什么我得到的值小于实际乘法。提前致谢。

如果 gawk 版本大于 4.1 而我当前的 gawk 版本较旧,则“在 awk 中打印长整数”问题中给出的解决方案有效。

标签: shellunixawk

解决方案


推荐阅读