行排序 — 按 A-Z 或 Z-A 字母顺序排序文本行
按 A-Z 或 Z-A 字母顺序对文本行排序。支持数字排序、随机打乱、反转顺序,全部在浏览器中完成。无上传、无账号、无限制。
Sort Lines
Sort text lines alphabetically (A-Z or Z-A). Works entirely in your browser.
行排序是计算里最基础的文本操作,也是最能揭示一份列表是怎么拼起来的操作。一份未排序的电子邮件地址按字母顺序一排,原来顺序里看不见的重复就露出来了;日志文件按时间戳排序,事件序列里的规律就浮现了;配置文件按键排序,找某个具体设置就容易了。行排序器只做一件事 —— 排序 —— 它的价值就在于这种简单:粘贴、排序、复制,完事。
字母排序和数字排序的区别,是手动排序中最容易悄悄出错的地方。按字母序,1.txt, 10.txt, 2.txt 是对的,因为逐字符比较时 1 在 2 之前;按数字序,同样这串列表应该是 1.txt, 2.txt, 10.txt,因为 10 作为数字比 2 大。数字排序开关通过提取每行开头的数字、按数值而不是字符序列比较来解决这个问题。文件管理器在 1990 年代用自然排序解决过同一个问题,本排序器把它做成了一个开关。
语言感知排序针对的是大多数文本排序工具忽略的多语言现实。像 é、ñ、ü 这样的字符在它们各自的语言里有明确的排序位置,与 Unicode 码点顺序不同。基于 Intl.Collator 的排序尊重浏览器的语言设置,把带变音符的字符排在本族语使用者期望的位置,而不是 Unicode 联盟给它们分配的码点位置。任何包含人名、地名或非英语词汇的列表,这都重要。
使用方法
粘贴你的文本
把多行文本粘贴或输入到输入框。工具会用所选规则对所有行排序,结果即时显示。行数统计会自动更新,确认没有行被丢失。
选择排序模式
字母顺序 A-Z(默认)或 Z-A。开启「按数字排序」按行首的数字排序(2.txt 排在 10.txt 前面,而不是字母序里的 10.txt 在 2.txt 前面)。开启「忽略大小写」让大写和小写字母视为相同。
复制或下载结果
把排序后的文本复制到剪贴板,或下载为 .txt 文件。原始输入保留在独立面板中供对比 —— 排序是非破坏性操作。
常见问题
数字排序是怎么工作的?
数字排序会提取每行开头的数字,按数值而不是字典序比较各行。前导零处理正确:002 排在 010 前面。没有前导数字的行被当作前缀值为 0,升序排序时会排在带数字的行之前。
排序时遇到空行怎么办?
默认情况下空行排在最前(降序则排在最后)。开启「去除空行」把它们全部删除,或开启「空行排到末尾」保留空行但不论升降序都统一移到末尾。
排序会尊重特定语言的排序规则吗?
默认排序遵循 Unicode 码点顺序,把带变音符的字符排在基本 ASCII 范围之后。开启语言感知排序(用浏览器的 `Intl.Collator`)按用户的语言环境排序 —— 比如法语里 é 视作 e 而不是单独字符。
可以按特定列或字段排序吗?
不能 —— 本工具只对整行排序。如果要按列排序(比如按 CSV 第二列),用电子表格工具或脚本预处理。本行排序器适用于每行都是独立条目的扁平文本列表。
排序器能处理的最大文件是多大?
排序器可处理浏览器标签页可用内存以内的文件 —— 通常是数十万行。百万行级别的文件排序会花几秒钟。排序算法是稳定排序(键相同的行保持输入时的相对顺序),对多轮排序很有用。
限制说明
- 仅支持整行排序不支持按列或字段排序。如果要按特定分隔字段(CSV、TSV、固定宽度)排序,用电子表格工具或 `sort -t, -k2` 这类命令行工具。
- 不对混合字母数字做自然排序像 'item2' 和 'item10' 这样的混合字母数字按字典序排序:'item10' 排在 'item2' 前面。开启「自然排序」把内嵌数字当作数字处理,得到符合直觉的 'item2, item10' 顺序。
- 默认按 UTF-8 编码处理如果输入不是 UTF-8,同一字符在不同部分的编码不同,可能产生意外的排序结果。对遗留编码,请先转成 UTF-8 再排序。
平台说明
- macOS
- 命令行排序:`sort input.txt` 做字母排序,`sort -n` 做数字排序。本浏览器工具增加了交互模式切换和语言感知排序选项。
- Linux
- 标准 `sort` 命令的 `-n`(数字)、`-r`(反转)、`-f`(忽略大小写)覆盖相同选项。从聊天或邮件粘贴文本做交互式排序时,本浏览器工具是合适选择。
- Web
- 完全在客户端运行。页面加载后离线可用。