文本行差异比对

文本行差异比对

按行比对两段文本,标出新增 / 删除 / 相同

浏览器本地计算

左侧放旧文本,右侧放新文本;减号表示左侧删除,加号表示右侧新增。每侧最多支持 2000 行。

 
–

示例

输入

左侧:alpha
beta
右侧:alpha
gamma

示例结果

  alpha
- beta
+ gamma

减号来自左侧旧内容,加号来自右侧新内容。

技术细节与边界

采用最长公共子序列(LCS)对齐行,时间与内存随两侧行数乘积增长,因此每侧限制 2000 行。它不识别语义等价、移动块或 JSON 字段重排;一行被修改通常显示为删除旧行并增加新行。

关于此工具

逐行比较两段文本,用增加、删除与保留标记展示差异。可忽略大小写或行尾空白,适合检查配置修改、接口样本和文字版本;比较在浏览器完成。

适用场景

  • 快速看两份配置的差别。
  • 对比两次日志输出,找到新增的错误。

操作步骤

  1. 在左右两个输入框分别放要比对的文本。
  2. 结果下方按行展示 diff;可点选项调整比较策略。

注意事项

本工具做的是行级 diff(不是逐字符 diff);相似但不完全相同的行会被判为不同。

常见问题

在线文本对比最多支持多少行?
本工具逐行对比时每侧最多支持2000行,以限制最长公共子序列计算的开销。两侧各2000行时,行数乘积为4000000;较大文件应拆分比较,结果不提供语义等价判断或移动代码块识别。
文本对比修改一行为什么显示删除和新增?
逐行文本对比通常把修改表示为删除旧行并新增新行。例如左侧1行a变成右侧1行b,会显示1次删除和1次新增;这表示两行文本不同,不代表应用实际执行了两次写入或文件操作。
JSON 字段顺序不同能用文本对比判断一致吗?
文本对比不能判断JSON字段重排后的语义是否一致,只比较行文本。比如包含a与b的2个字段交换顺序,即使值仍是1和2也可能显示差异;需要语义比较时,应先用适当规则规范化数据。

相关工具

文本行差异比对 · 按行比对两段文本,标出新增 / 删除 / 相同
文本行差异比对 — 工具示意图 · dayeku.com