两份订阅者导出。两份错误指纹转储。一份预期文件列表和一份实际发布列表。问题永远是同一个:什么重叠、什么缺失、什么多出。
Compare 接受两个列表,通过浏览器内的一次 Set 操作同时返回四个答案 — 交集、A 独有、B 独有、并集。
把每项一行丢进左边的框。
把每项一行丢进中间的框。
在右边点「都在」(In both)/「仅 A」(A only)/「仅 B」(B only)/「合并」(Union)看四种视图。全部实时更新。点「复制」(Copy)抓当前视图。
在每个视图内,条目按原始输入顺序出现 (并集用 A-然后-B 顺序)。每个列表内的行在对比前先去重。
默认区分大小写 — "Apple" 和 "apple" 不同。关掉「区分大小写」(Case-sensitive)把它们合并。
\n 边界之间的任何东西,可选 trim 后。空行在对比前从输入里丢掉。
本工具不行 — 两两做。对比 A vs B,然后拿结果跟 C 对比。
只做严格逐字对比 — 两行「相等」要求每个字符完全一致(可选忽略大小写)。不做模糊匹配、Levenshtein 距离、语义相似度。比如 A 里是 foo bar、B 里是 foo bar(两个空格),算不同行。需要模糊对比就用真正的 diff 工具:diff -y、Beyond Compare,或我们在 对比两个列表 博客里列出的 JS 库。
Compare 在 8 个工具里内存压力最大 — 它为每个列表构建一个内存 Set,通常占用原文 3–5 倍。每列表 10 万行内丝滑;桌面充足内存下每列表 50 万行可用。每个标签(都在 / 仅 A / 仅 B / 并集)的输出预览各自截断至 5,000 行,但「复制」始终基于完整的当前视图。
是 — 这三种集合运算正好对应工具的四个标签。「两边都有」(IN BOTH)是交集(两份列表共同的行)。「仅 A」(A ONLY)是 A − B 的差集;「仅 B」(B ONLY)是 B − A 的差集(每一边独有的行)。「合并」(UNION)是并集(合并去重后的全部行)。粘贴一次,四个答案一次拿到 — 不需要分次跑三种运算。