大規模なディレクトリ比較のための進捗状況付き diff の代替手段はありますか?

大規模なディレクトリ比較のための進捗状況付き diff の代替手段はありますか?

2,000,000 ファイル (3TB) を 1 つの RAID から別の RAID に rsync しました。

データがそのまま残っていることを確認したい。

rsync -c本当に長い時間がかかります。

diff何をしているのか表示されません。

(a) より高速で、(b) 比較中に進行状況を表示してくれる代替手段はありますか?

(私は Mac を使用していますが、brew search diff...apgdiff colordiff diffstat diffutils fmdiff libxdiff open-vcdiff podiff rfcdiff vbindiff bsdiff diffpdf diffuse dwdiff kdiff3 ndiff perceptualdiff rdiff-backup tkdiff wdiff これらのいずれかが機能するでしょうか?)

答え1

cmpおそらくあなたが探しているツールです。2つのファイルをバイトごとに比較し、一度に1ブロックずつ読み取ります。違いが見つかるとすぐに終了します。そのため、チェックサムよりも高速(ファイルが異なる場合、ファイル全体を読み込む必要がない)かつ信頼性が高い(実際にバイトごとに比較する)です。また、diff複雑な計算を必要とせず、結果を表示するよりも高速です。どこファイルが異なります。

2 つのディレクトリを再帰的に処理し、処理されたファイルの量 (またはその累積サイズ) に基づいて進行状況を出力する小さなスクリプトを簡単に作成できます。

関連情報