我想检查包含double
个数字的两个文件的相等性。
我应该考虑近似数字,例如差异最多为0.0001
。
使用C
编写测试人员很容易,但有更简单的方法吗?例如bash命令?
答案 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。那应该为你提供一个起点。您需要完成文件结构。