比较两个包含双打的文件

时间:2012-05-02 08:06:18

标签: c++ c bash floating-point diff

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

我应该考虑近似数字,例如差异最多为0.0001

使用C编写测试人员很容易,但有更简单的方法吗?例如bash命令?

2 个答案:

答案 0 :(得分:4)

以下是一种方法:

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

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

答案 1 :(得分:2)

Bash不提供浮点操作的运算符。你可以查看bc,将它集成到bash脚本中相当容易。

在Linux Journal上查看此article。那应该为你提供一个起点。您需要完成文件结构。