16進数形式のメモリダンプを本質的に含む2つのファイルがあります。現時点では、diffを使用して、ファイルが異なるかどうか、どこが異なるかを確認しています。ただし、違いの正確な場所(メモリアドレスなど)を特定しようとすると、誤解を招く可能性があります。 2つのファイルを並べて表示する次の例を考えてみます。
file1: file2:
0001 | 0001
ABCD | FFFF
1234 | ABCD
FFFF | 1234
これでdiff -u
は1つの挿入と1つの削除を示しますが、2つのファイル間で3行(メモリの場所)が変更されています。
0001
+FFFF
ABCD
1234
-FFFF
2つのファイルを比較して、各行が他のファイルの(行番号に関して)同じ行とのみ比較されるようにする簡単な方法はありますか?したがって、この例では、file1
およびfile2
からの変更された行とともに、最後の3行が変更されたことを報告する必要があります。出力はdiffスタイルである必要はありませんが、色分けできると便利です(現時点ではsed
を使用してdiff -u
出力に色を付けるので、簡単に変更できます)。
これはアプローチかもしれません:
diff <(nl file1) <(nl file2)
nl
numberを指定すると、diff
が行ごとに認識する行。