什么是文本对比(Diff)?
文本对比工具把两段内容按行比较,用增删标记高亮差异,可选择忽略行尾空白与大小写。常用于比对配置文件、接口返回或两版文案,比较过程在浏览器内完成。
怎么用文本对比(Diff)?
- 1把原始内容粘贴到左栏,新内容粘贴到右栏。
- 2按需勾选忽略大小写与忽略首尾空白。
- 3查看结果:绿色为新增行,红色为删除行。
- 4顶部会给出新增、删除与相同的行数统计。
在代码里怎么实现?
一次性操作用上面的工具,重复性工作建议固化到脚本或项目里。
Shell
Node.js
# 忽略空白差异 diff -w old.txt new.txt # 生成可提交的补丁 diff -u old.txt new.txt > change.patch
常见错误与排查
| 现象 | 成因 | 修复 |
|---|---|---|
| 看起来完全一样却全部标为差异 | 两份内容的换行符不同(CRLF 与 LF),或缩进混用制表符与空格。 | 统一换行符后再比较,或勾选忽略空白选项。 |
常见问题
对比结果里为什么一整行都算差异?+
本工具按行做对比,一行内只要有一个字符不同,整行就会被标记为删除加新增。这与 git diff 的默认行为一致;需要看行内字符级差异时,可以把这一行单独拆出来再比较。
能对比 JSON 吗?+
可以,但按行对比会受键顺序与缩进影响。更准确的做法是先用 JSON 格式化工具把两边规范化为相同缩进,再进行对比;纯结构对比则应使用专门的 JSON 对比工具。