文本排序
把多行文本按字母序、自然序(a2 排在 a10 前)或长度排序,支持倒序、去重、忽略大小写、按指定列与数值列排序,注释行与空行单独处理。
浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。
排序选项
排序结果
结果按 LF 换行输出,可直接复制回文件。
输入多行文本后立即显示排序结果。
这个工具能做什么
- 把从数据库导出的 ID 列表、文件名列表或日志行排好序,再贴回文件或表格。
- 修掉「字母序把 a10 排到 a2 前面」的问题:自然序按数字大小比较,版本号 v1.9 会排在 v1.10 前面。
- 整理 CSV / TSV 时按第 2 列或第 3 列排序,并可以把该列当数字比较,避免 10 排在 2 前面。
- 清理粘贴来的名单:去掉空行、去掉重复行、忽略大小写后排序,注释行(# 开头)保持原样置顶。
示例
输入
banana apple10 apple2 apple1
输出
apple1 apple2 apple10 banana
默认使用自然序:apple2 排在 apple10 前面。切到「字母序」就会变成 apple1、apple10、apple2。
常见问题
自然序和字母序有什么区别?
字母序逐字符比较,所以 apple10 排在 apple2 前面(因为字符 1 小于 2)。自然序会把连续数字当成一个数来比,apple2 在 apple10 前面,v1.9 在 v1.10 前面。排序结果不依赖系统语言,全部按 Unicode 码点比较。
注释行和空行会怎样处理?
以 # 开头的行默认被识别为注释,不参与排序并按原始顺序置顶;空行默认直接删除。取消「注释行置顶」后注释会像普通行一样参与排序,取消「删除空行」则空行保留在结果末尾。
怎么按某一列排序?
把「排序依据列」填成 1、2、3…(从 1 开始),列分隔符默认是英文逗号,制表符写 \t。某一行没有这一列时按空值处理,会排在最前面。勾选「把该列当数字比较」后按数值大小排序,非数字行排在数字行之后。
去重是按整行还是按列?
按当前排序键去重:按整行排序时整行相同才算重复,按列排序时只要该列的值相同就算重复,保留排序后的第一条。去重是在排序之后做的,所以保留的是排序结果里靠前的那条。
中文能正确排序吗?
中文按 Unicode 码点顺序排,不是拼音顺序——码点顺序对中文来说没有直观意义,因此不建议用本工具给中文名单排序。忽略大小写只影响拉丁字母,不会改变中文的相对顺序。
关键词:text sortsort linesalphabetical ordernatural sortdedupe linessort by column文本排序行排序自然排序多行排序去重按列排序