0

double数値を含む 2 つのファイルの等価性をチェックしたい。

ほぼ等しい数、たとえば最大でも の差を考慮する必要があります0.0001

そのためのテスターを書くのはC簡単ですが、もっと簡単な方法はありますか? 例えばbashコマンド?

4

2 に答える 2

4

これを行う方法の 1 つを次に示します。

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 Journal のこの記事を参照してください。それはあなたに出発点を提供するはずです。ファイル構造を処理するのはあなた次第です。

于 2012-05-02T08:13:55.247 に答える