行排序与去重
文本
把 shell 里 `sort | uniq | grep -v '^$'` 那一套打包:字母升降序或自然排序('item10' 排在 'item2' 后而非 'item1' 后);去重(按大小写或忽略大小写);裁掉两端空白;去掉空行;结果反转;或随机打乱。会显示输入、输出与被移除的行数,便于看清变更。
—
输出 (0 行)
在左侧粘贴行。
操作顺序:trim → 删除空行 → 去重 → 排序 → 反转。全部在浏览器中完成。
使用方法
- 左侧粘贴你的列表。
- 选排序方式并按需勾选选项(去重、trim 等)。
- 在右侧面板复制输出。
常见问题
- 什么是 "自然排序"?
- 懂得识别字符串中数字的排序:会得到 'item2'、'item10',而不是 'item10'、'item2'。底层用 Intl.Collator 的 numeric=true。文件名、版本号、连续 ID 都适合。
- 打乱是确定的吗?
- 不是——用 Math.random() 配标准 Fisher-Yates 算法。想再换一组顺序就再点一次 "打乱"。如果需要可复现的带种子打乱,这工具不行。
- 去重会保留顺序吗?
- 如果 "排序" 选 "无"——会,首次出现保留,后面重复丢弃。如果设置了排序,去重发生在排序之前,输出就是排序后的唯一行集合。
- 想保留空行做分隔怎么办?
- 取消 "删除空行"。但去重在 trim 之后才跑,所以多空行 trim 之后都是空字符串,会被合成一个。要完全保留,请同时关掉 "删除空行" 和 "trim"。