One*_*ree 6 unix diff
我正在使用diff命令来比较两个文本文件.他们需要完全匹配.
所以我使用diff:
diff binary.out binary.expected
(顺便说一下,那些文件不是二进制文件.它们是文本文件.我称之为二进制文件,因为这是项目的名称)
得到了
Binary files binary.out and binary.expected differ
当我使用另一个差异工具时,最聪明的(AKA人类),两个文件之间真的没什么不同.
有谁碰巧知道这里发生了什么?
谢谢.
hlo*_*dal 7
diff来自diffutils的关于text/binary的内容如下:
diff
diff通过检查文件中的前几个字节来确定文件是文本还是二进制文件; 确切的字节数取决于系统,但通常为几千字节.如果文件该部分的每个字节都是非空的,则diff将该文件视为文本; 否则它认为该文件是二进制文件.
因此,GNU diff对文本是什么有一个非常开放的定义,并且使用该--text选项强制它将文件视为文本应该很少需要.
--text
你检查,如果binary.out还是binary.expected包含空字符?您的差异计划是什么版本?
binary.out
binary.expected
gco*_*ard 4
确保忽略 diff 选项中的空格。
它还可能会看到 Unicode 字符并将其解释为二进制。查看您的 diff 工具是否有强制文本模式的选项。
归档时间:
13 年,7 月 前
查看次数:
14803 次
最近记录:
13 年,6 月 前