考虑一下:
echo -na > /tmp/a echo -nb > /tmp/b diff -B /tmp/a /tmp/b
显然,这两个文件是不同的,但差异似乎认为这些文件是相同的。 我已经设法在Ubuntu 14.04上使用diffutils 3.3,在使用diffutils 2.8.1的CloudLinux 5.10以及使用diffutils 2.8.1的Ubuntu 10.04上重现这个问题。
如果我不使用-B选项,问题就会消失。 如果文件以换行符结束,问题就会消失。 如果文件包含多个字符,问题就会消失。
我试过在网上search这种行为的解释,但一直没有成功。
有人可以解释发生了什么事吗?
而且,我可以使用什么最简单的解决方法–B行为对我来说很重要。
听起来像一个错误给我。 我在Ubuntu 14.04上试了这个。 继续并报告错误。
有些输出模式(ed脚本,并排)甚至-B工作,但不与其他人。
jaba@jaba-ubuntu:~/diffbug$ diff -e -B ab 1c b . diff: a: No newline at end of file diff: b: No newline at end of file jaba@jaba-ubuntu:~/diffbug$ diff -y -B ab a bjaba@jaba-ubuntu:~/diffbug$