跳到正文

← 全部工具

免费在线工具

比较两段文字,找出差异

粘贴原文和修改后的文字,或载入两个文件,差异马上显示:新增和删除了哪些行,每一行里改动的词也会标出来。所有处理都在这个页面里完成,不会上传。

选项

差异

新增行数
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 格式生成,应用到原文上就能得到修改后的文字。
一定能找到最短的修改清单吗?
普通文本可以:行比较会找出最少的新增行和删除行。当有多个同样短的答案时,本页选的可能和别的工具不同。对于几乎没有相同之处的超大文本,页面会放弃并告诉你。

相关工具