← 返回博客

如何在线对文本行排序

2026-04-03 · 5 分钟阅读

文本行排序的常见需求

在日常工作中,有很多场景需要对文本行进行排序:整理词汇表或术语表(按字母顺序);整理编程中的 import 语句;对 CSS 属性排序以提高可读性;整理名单或联系人列表;对日志行进行时间排序;将无序的列表整理成有序格式用于文档或报告。

排序方式的种类

大小写敏感性

文本排序中,大小写敏感性是一个重要细节。大小写敏感的排序会将所有大写字母排在小写字母前面(因为大写字母的 ASCII 码值小于小写字母)。大小写不敏感的排序在比较时忽略大小写差异,apple 和 Apple 会被视为相同。对于大多数列表整理场景,大小写不敏感排序更符合人类直觉,是推荐的默认选项。

用命令行排序

在 Unix/Linux/macOS 系统中,sort 命令是文本行排序的利器:

# 基本字母排序
sort input.txt

# 反向排序
sort -r input.txt

# 数字排序
sort -n input.txt

# 忽略大小写排序
sort -f input.txt

# 删除重复行并排序
sort -u input.txt

# 按第二列数字排序(tab 分隔)
sort -t$'\t' -k2 -n input.txt

Python 代码实现

# 读取文件并按字母顺序排序
with open('input.txt', 'r') as f:
    lines = f.readlines()

# 去除空行并排序(忽略大小写)
sorted_lines = sorted(
    [l.strip() for l in lines if l.strip()],
    key=str.lower
)

# 写入结果
with open('output.txt', 'w') as f:
    f.write('\n'.join(sorted_lines))

中文排序的特殊考量

中文字符排序比英文复杂。常见的排序方式有:按 Unicode 码点排序(不符合人类直觉)、按拼音排序(最自然,适合词典和名单)、按笔画排序(正式文件常用)。在线工具通常提供按 Unicode 排序,拼音排序需要专门的中文分词和拼音转换库。Python 中可以使用 pypinyin 库实现按拼音排序。

处理前缀和特殊字符

如果列表行有统一的前缀(如项目符号 - 或 * ,或编号 1. 2. 3.),排序前应先去除这些前缀,排序后再重新添加。否则排序结果会基于前缀字符而不是实际内容。这类预处理通常需要正则表达式提取纯内容后再排序。

立即免费使用相关工具

免费使用 →