我有两个大文件,9600000个float值是用C代码一行一行写的,我知道有相似之处,其实应该是一样的。如何比较它们,看看有没有区别?
我试过了
diff --unchanged-group-format='' base.txt base4.txt
但这不起作用,它会在屏幕上打印出第二个文件。
与
cmp base.txt base4.txt
base.txt base4.txt differ: byte 811221, line 62402
62402行不同是什么意思?
cmp
的输出意味着文件之间的第一个差异在文件中的字节位置 811221
,即 62402
行.例如,如果这两个文件是:
abcd
1234
wxyz
9876
和
abcd
1234
wqyz
9812
输出是:
file1.txt file2.txt differ: char 12, line 3
因为在 3
行,一个文件有 x
而另一个文件有 q
,它们在字节位置 12
(换行符包含在字节数中)。
如果您想查看所有差异,请使用 -l
选项。
$ cmp -l file1.txt file2.txt
12 170 161
18 67 61
19 66 62
请注意,与 diff
不同,这在插入和删除方面并不智能,它只是比较每个位置的每个字节。因此,如果您在文件的前面插入或删除一个字符,则之后的所有内容都将显示为不匹配。