我有两个文件,它们实质上包含十六进制格式的内存转储。目前,我使用diff来查看文件是否不同以及差异在哪里。但是,这在尝试确定差异的确切位置(即内存地址)时可能会产生误导。考虑以下示例并排显示两个文件。
file1: file2:
0001 | 0001
ABCD | FFFF
1234 | ABCD
FFFF | 1234
现在diff -u
将显示一个插入和一个删除,尽管两个文件之间的3行(内存位置)已更改:
0001
+FFFF
ABCD
1234
-FFFF
有没有一种简单的方法可以比较两个文件,以便仅将另一行与另一文件中的同一行(就行号而言)进行比较?因此,在此示例中,它应报告最后3行已更改,并且从file1
和更改了行file2
。输出不必是diff风格的,但是如果可以对其进行着色,那将是很酷的(目前,我diff -u
使用来对输出进行着色,sed
以便可以轻松地对其进行修改)。