ZeroTool Workbench

文本行工具

在线去除重复行、按字母或数字排序、反转、随机打乱、去除空白行。免费在线工具,纯浏览器端运行。

100% 浏览器端运行 数据不离开你的设备 免费 · 无需注册

使用方法

  1. 将文本粘贴或输入到 Input Lines 文本框中——每行一个条目。
  2. 点击任意操作按钮:Remove Duplicates(去重)、Sort A→Z / Z→A(字母排序)、Sort Numeric(数字排序)、Reverse(翻转)、Shuffle(随机打乱)、Trim Lines(去除首尾空白)或 Remove Empty(删除空行)。
  3. 结果显示在 Output 文本框中,点击 Copy 复制到剪贴板。

操作示例

去除列表中的重复项

输入:

apple
banana
cherry
apple
banana
date

点击 Remove Duplicates 后:

apple
banana
cherry
date

数字排序

输入:

100 items
3 items
42 items
7 items

点击 Sort Numeric 后:

3 items
7 items
42 items
100 items

组合操作

可以组合多步操作:先 Trim Lines 清理空白,再 Remove Duplicates 去重,最后 Sort A→Z 排序。每个按钮都读取输入框,所以步骤之间要把输出复制回输入。

常见用途

文本行工具适用于清理数据导出、去重邮箱列表、排序日志条目、 准备词表、清理 CSV 列以及任何需要逐行操作文本的场景。

各按钮的规则

每个按钮都读取输入框、写入输出框,输入内容不会被改动。要连续做几步(先去空格、再去重、再排序),每一步之间把输出复制回输入。

按钮规则
去除重复按原顺序保留每行第一次出现的位置。必须完全相同才算重复,大小写和空格都算。结果与 awk '!seen[$0]++' 相同
A→Z / Z→A 排序String.prototype.localeCompare,使用浏览器默认语言
数值排序用 parseFloat 读取每行;读不出数字的行排到最后,按 A→Z 排
反转行顺序倒过来
随机排序随机顺序(每次点击结果不同)
去除首尾空格删掉每行首尾的空白
删除空行删除空行和只含空白的行

示例:混合列表的排序与去重

输入(最后一行末尾有一个空格):

banana
Apple
apple
Cherry
_x
10
9
éclair
Zebra
apple
apple 

A→Z 排序(浏览器语言为英文时):

_x
10
9
apple
apple
Apple
apple 
banana
Cherry
éclair
Zebra

顺序按语言规则而不是字节值:大小写字母挨在一起,é 排在 e 旁边,10 排在 9 前面,因为比较的是字符而不是数值。命令行 LC_ALL=C sort 则按字节排序:

10
9
Apple
Cherry
Zebra
_x
apple
apple
apple 
banana
éclair

对同一输入点去除重复,会删掉一个 apple,而 apple (末尾有空格)被当成另一行保留:

banana
Apple
apple
Cherry
_x
10
9
éclair
Zebra
apple 

如果末尾空格不该算差异,先点去除首尾空格,把结果复制回输入,再点去除重复。

示例:数值排序怎么读数

1,000
v2
-3
1e3
10px
3
0x10
 4

排序后:

-3
0x10
1,000
3
 4
10px
1e3
v2

parseFloat 读取开头的数字,遇到不能识别的字符就停:0x10 读成 0,1,000 读成 1,10px 读成 10,1e3 读成 1000。 4 保留开头的空格。v2 不以数字开头,排到最后。

对应的命令行

操作Shell与本工具的差别
去重并保留顺序awk '!seen[$0]++' file.txt结果相同
去掉相邻重复行sort file.txt | uniq输出会被排序
排序sort file.txt按 LC_COLLATE 排序;LC_ALL=C 为字节序
按数字排序sort -n file.txt1,000、0x10、1e3 的处理规则不同
反转tac file.txt(GNU)/ tail -r file.txt(macOS)结果相同
删除空行sed '/^[[:space:]]*$/d' file.txt结果相同
去除每行首尾空白sed 's/^[[:space:]]*//;s/[[:space:]]*$//' file.txtASCII 空白结果相同

限制

  • 没有忽略大小写的模式。需要时先用大小写转换工具转成小写。
  • 按换行符分行;粘贴的 Windows 换行会被浏览器文本框统一成换行符。
  • 字母顺序取决于浏览器的语言设置,带重音或大小写混合的行在不同电脑上可能排得不一样。
  • 没有设置行数上限,上限取决于浏览器内存。

FAQ

去重是如何工作的?

逐行精确比较(区分大小写)。保留每个唯一行的首次出现,后续重复行被移除,同时保持首次出现的原始顺序。

比较是否区分大小写?

是的。'Apple' 和 'apple' 被视为不同的行。如需不区分大小写比较,请先使用我们的文本大小写转换工具将文本转为小写。

数字排序如何工作?

每行用 JavaScript 的 parseFloat 读取开头的数字(10px 读成 10,1,000 读成 1,0x10 读成 0)。开头没有数字的行按字母顺序排到末尾。

有行数限制吗?

没有设置上限。处理在浏览器中完成,上限取决于浏览器内存。

数据会发送到服务器吗?

不会。所有处理完全在浏览器中通过 JavaScript 运行,数据不会离开您的设备。