比较两段文字,找出差异
粘贴原文和修改后的文字,或载入两个文件,差异马上显示:新增和删除了哪些行,每一行里改动的词也会标出来。所有处理都在这个页面里完成,不会上传。
选项
差异
- 新增行数
- 4
- 删除行数
- 3
- 未改动行数
- 4
- 改动的字符数
- 16
原文
修改后
购物清单
删除的行: - 牛奶
新增的行: - 燕麦奶
- 面包
删除的行: - 6 个鸡蛋
新增的行: - 12 个鸡蛋
- 咖啡豆
新增的行: - 黄油
删除的行: 记得带购物袋。
新增的行: 记得带可重复使用的购物袋。
unified diff 带 3 行上下文,可配合 patch 和 git apply 命令使用。
对比规则
- •先按行比较,找出把原文变成修改后文字所需的最少新增行和删除行。结果与 diff 命令是同一类,行数也一致。
- •在被改动的行里,不同的词(或你选择的单个字符)会被高亮,长句里的小改动也一眼能看到。中文和日文按字逐个比较。
- •选项可以忽略空格和制表符、大小写、空行,或行尾空格。Windows 的换行(CRLF)会算作改动,除非你选择忽略行尾空格。
- •“复制为 unified diff”和下载按钮会给出带 3 行上下文的标准补丁,patch 和 git apply 命令都能使用。如果你开启了忽略选项,补丁里不会包含你忽略的差异。
- •两段文字加起来最多 2 MB。结果很长时先显示前 400 行,可以点按钮看更多。如果两段很长的文字几乎没有相同之处,页面会停止寻找最短的修改清单并提示你。
常见问题
- 我的文字会被上传吗?
- 不会。两段文字都在你的浏览器里比较,没有任何内容被发送或保存。关闭或刷新页面后就清空了。
- 为什么看起来一样的行被标成了改动?
- 通常是肉眼看不见的差别:行尾多了空格或制表符、换行符不同(Windows 的 CRLF 与 Mac、Linux 的 LF),或者文件最后少了一个换行。开启“忽略行尾空格”可以隐藏前两种。
- 结果能用在 git 或 patch 命令里吗?
- 可以,限单个文件。下载 .patch 文件后运行 patch original.txt changes.patch,或者在文件名一致时使用 git apply。它按 unified diff 格式生成,应用到原文上就能得到修改后的文字。
- 一定能找到最短的修改清单吗?
- 普通文本可以:行比较会找出最少的新增行和删除行。当有多个同样短的答案时,本页选的可能和别的工具不同。对于几乎没有相同之处的超大文本,页面会放弃并告诉你。