文本去重工具 把一段文本按指定分隔符切成若干项,去掉重复、统计频次,或对两段文本做并/交/差集运算。全部在浏览器本地完成,粘贴的内容不会上传。
| 模式 | 输出 | 典型用途 |
|---|---|---|
| 去重 | 去重后的项(可选:全集 / 只重复 / 只唯一) | 名单合并、SQL 结果清洗 |
| 频次统计 | 次数\t内容,可按次数或内容排序 | 日志 top N、错误码分布 |
| 集合运算 | A∪B / A∩B / A−B / B−A / A△B | 两份清单对账、差异盘点 |
每项先按选项(trim / 小写 / 删空白)归一化为”比较键”去判重,输出时回退到首次出现的原始字符串。意味着开”忽略大小写”去重 Apple / apple,结果是 Apple 而不是 apple,保留了用户的书写。
换行、逗号、分号、空格(连续空白算一个)、制表符,或自定义任意字符串。输出会用同一个分隔符拼回——粘进来什么分隔,导出就什么分隔。
sort -u / uniq 的差异本工具默认保留首次出现顺序,不强制排序。排序是可选项,且支持按字母、按频次多种。
保留首次出现的那条原始形态。举例:输入 Apple / apple / APPLE 并开启"忽略大小写",输出只保留 Apple(最早出现的那条),不会变成全小写。这样既合并了重复,又保留了用户原本的书写形式。
忽略首尾空白(默认开)只对每项 trim() 后再比较——开头结尾的空格、制表符被忽略,内部空白保留。忽略全部空白更狠——把每项里所有的空白字符(空格、制表符、换行)统统删掉再比较,所以 a b 和 ab、hello world 和 helloworld 会判定相同。合并"格式混乱粘贴数据"时用它,代价是牺牲内部空白的语义。
可以。输出格式是 次数\t内容(制表符分隔),粘进 Excel / WPS / Google Sheets 会自动拆成两列——左列次数、右列原文。按次数列降序排好,方便直接做透视。CSV 工具链也可以改分隔符为逗号。
A∪B(并集)——两边所有项去重后合并,A 的先出现。A∩B(交集)——两边共同出现的项。A−B(差集)——A 有但 B 没有的项(找 A 里的新增/独有)。B−A 同理反过来。A△B(对称差)——两边只在一侧出现的项(合并 A−B 和 B−A),常用于"两份清单的所有差异"。
十万行以内实时计算毫无压力(Set + Map 的时间复杂度都是 O(n))。百万行量级浏览器会有短暂卡顿(主要是 textarea 渲染慢,不是算法慢)——建议先把文件切成几段处理。全部逻辑跑在本地,粘贴进来的内容不会上传到任何服务器。
sort -u / uniq 有什么区别?uniq 只能合并相邻的重复行(必须先 sort),sort -u 是排序后去重——两者都会改变原顺序。本工具默认保留首次出现顺序,不排序也能去重。另外支持按任意分隔符切分(不止换行)、忽略大小写/空白的单独开关、频次统计、集合运算,这些 uniq 要靠管道拼 awk / comm 才能做。