文本 diff 对比工具
改完一个配置文件,想看改了哪些行?两段日志对比,定位问题点?这个工具 30 秒给你答案。
背景
数通工程师日常:
- 改完 B 设备配置,要和 A 设备对比看是否一致
- 抓了两段不同时期的日志,找变化点
- 写代码前 review 同事提交的 PR
之前都是 diff -u 或者 WinMerge,但这些工具要么需要装客户端,要么不支持中文/HTML 显示。
干脆做一个网页版的。
它能做什么

- ✅ 左右两栏输入待对比文本
- ✅ HTML 表格高亮差异(红/绿/黄)
- ✅ 上下文格式:默认显示 3 行上下文
- ✅ 纯文本 也能看清修改位置
- ✅ 适合中文 /代码 /配置
使用场景
场景 1:对比两台交换机配置
原配置: 修改后:
interface Vlan10 interface Vlan10
ip address 192.168.10.1 ip address 192.168.10.2
no shutdown shutdown
差异一眼可见:IP 改了,shutdown 多了。
场景 2:对比日志
[2026-08-10 09:00] server start | [2026-08-10 09:00] server start
[2026-08-10 09:01] load=0.5 | [2026-08-10 09:01] load=1.2
[2026-08-10 09:02] OK | [2026-08-10 09:02] WARN
核心实现
Python 标准库 difflib.HtmlDiff:
import difflib
text1 = """line 1
line 2 original
line 3
line 4""".splitlines()
text2 = """line 1
line 2 modified
line 3
line 4""".splitlines()
# 生成 HTML 表格
html = difflib.HtmlDiff(wrapcolumn=80).make_table(
text1, text2,
fromdesc='原始文本',
todesc='修改后',
context=True, # 显示上下文
)
difflib.HtmlDiff 直接输出 <table> HTML,不用自己实现算法(Myers diff 算法)。它背后的核心算法是"最长公共子序列(LCS)" —— 1960 年代的技术至今还在用。
在线使用
进阶:diff 工具对比
| 工具 | 客户端/网页 | 适合 |
|---|---|---|
| 本工具 | 网页 | 快速分享、跨平台 |
diff -u |
命令行 | Linux 运维、git 提交 |
| WinMerge | 客户端 | Windows 用户、文件夹对比 |
| Beyond Compare | 客户端 | 专业 diff(付费) |
日常 80% 的场景,这个网页工具就够用了。
📱 关注公众号「网英的日常」,不错过新工具上线!