0

我想检查两个包含double数字的文件是否相等。

我应该考虑接近的数字等于例如最多的差异0.0001

为此编写测试器很容易,C但是有没有更简单的方法?例如 bash 命令?

4

2 回答 2

4

这是您可以做到的一种方法:

paste file1 file2  | awk '{d=$1-$2;if((d<0?-1*d:d)>0.0001) print $0 " " d }'

首先用于paste打印出相应的行。然后将它们传递awk给减去。计算绝对差并检查它是否大于您的公差 0.00001。如果是这样,打印出两个值和差值。

于 2012-05-02T08:18:50.040 回答
2

Bash 不提供用于浮点操作的运算符。您可以查找 bc 并将其集成到 bash 脚本中应该相当容易。

请参阅Linux 期刊上的这篇文章。这应该为您提供一个起点。文件结构由您决定。

于 2012-05-02T08:13:55.247 回答