我正在使用wdiff来区分两个文件,我正在尝试使用" -d --diff-input"选项,所以我可以从统一的差异流输入文档。想象一下以下两个文本文件:
one.txt:My hovercraft is full of eeels.
two.txt:My hovercraft is full of slippery eels.
(-123用于抑制差异输出,-s用于统计数据。)
如果我wdiff -s123 one.txt two.txt
我得到:
one.txt: 6 words 5 83% common 0 0% deleted 1 17% changed
two.txt: 7 words 5 71% common 0 0% inserted 2 29% changed
这就是我所期待的。但是,如果我这样做:diff one.txt two.txt | wdiff -s123d
我得到:
(null): 17 words 16 94% common 1 6% deleted 0 0% changed
(null): 16 words 16 100% common 0 0% inserted 0 0% changed
从我所知的文档和谷歌搜索,这是预期的用例,他们应该返回相同的输出,但显然不是。谁知道我错过了什么?
编辑:我在mint / ubuntu上使用wdiff 1.1.2。编辑:
我错过了#34;统一"在手册页中。它正在寻找" -u"选项,所以我应该指定diff -u one.txt two.txt | wdiff -s123d
。我得到了更好的结果,但不幸的是统一差异仍然有一个两行标题,它得到了差异。
(null): 15 words 11 73% common 0 0% deleted 4 27% changed
(null): 16 words 11 69% common 0 0% inserted 5 31% changed
所以现在的问题是如何让diff不发出标题行。我再次搜索并试验没有结果。如果当然我可以写一个小脚本来破坏wdiff之前的三行,希望它仍然会解析。
另一方面,因为它使用统一的diff输出,所以它应该与git diff输出一个井。