newline-ignoring diff/diff跨越多行/ reflow-ignoring diff

Ada*_*dam 15 diff word-diff

有没有人知道类似diff的工具可以显示两个文本文件之间的变化,但忽略包括换行符在内的空白变化?

这是一个例子:

the quick brown fox jumped over the lazy bear.  the quick brown fox
jumped over the lazy bear.  the quick brown fox jumped over the lazy
bear.  the quick brown fox jumped over the lazy bear.
quick brown fox jumped over the lazy bear.  the quick brown fox jumped
over the lazy bear.  the quick brown fox jumped over the lazy bear.
the quick brown fox jumped over the lazy bear.

我所做的只是删除一个单词然后重排它,但是"diff -b"检测到每一行的变化(因为它应该;我不是说这是差异中的一个错误).但对于大型LaTeX文件,这是一个主要问题; 改变一个长段中的一个单词,你得到的差异基本上没用.

顺便说一句,我知道这需要比通常的线 - 原子差异更多的计算能力.我只是在人类生成的小文件上执行此操作,如果必须,我很乐意等待很长时间.

Zoë*_*son 12

wdiff逐字对齐.

要在终端中轻松读取显示,请运行

 wdiff -al <file1> <file2> | less
Run Code Online (Sandbox Code Playgroud)

这将显示(至少在我的系统上)<file2>粗体显示的插入和<file2>带下划线的删除.

  • @Jeff“每当遇到过分草率,不费力气的帖子,或者答案显然是错误的,甚至是危险的错误答案时,请使用不赞成投票的方式。” 答案对提出的问题是正确的。它不符合您的特定要求并不会使它不正确,如果您有更好的解决方案,则应将其发布为替代答案。 (2认同)