diff - 忽略换行符/多行差异/回流忽略差异

标签 diff word-diff

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

下面是一个例子:

敏捷的棕色狐狸跳过了懒惰的熊。敏捷的棕色狐狸
跳过懒熊。敏捷的棕色狐狸跳过懒惰的
熊。敏捷的棕色狐狸跳过了懒惰的熊。

敏捷的棕色狐狸跳过了懒惰的熊。敏捷的棕色狐狸跳了起来
越过懒熊。敏捷的棕色狐狸跳过了懒惰的熊。
敏捷的棕色狐狸跳过了懒惰的熊。

我所做的只是删除一个单词并重排它,但是“diff -b”会检测到每一行的更改(应该如此;我并不是说这是 diff 中的错误)。但是对于大型 LaTeX 文件,这是一个主要问题;在一个长段落中更改一个单词,您返回的差异基本上是无用的。

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

最佳答案

wdiff逐字对齐。

要在终端中获得易于阅读的显示,请运行

 wdiff -al <file1> <file2> | less

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

关于diff - 忽略换行符/多行差异/回流忽略差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2604915/

相关文章:

git - 如何在 Git 中执行不区分大小写的差异

c# - 行号中的方法名称

c++ - 用于区分和修补字符串的 Linux C 或 C++ 库?

python - 如何优化此Python代码以生成所有单词距离为1的单词?

java - 是否可以使用 DaisyDiff 保留输入标记?

word-diff - 命令行递归基于单词的差异?

git - 在每个更改的行中突出显示更改的行和更改的字节

php - 突出PHP中两个字符串的区别

sql - 忽略换行符的差异工具

linux - 适用于 Linux 的交互式 GUI 命令行合并工具(如 BeyondCompare 或 WinMerge)