在线添加行号 · 给每行加 1、2、3 | DedupeLines
DedupeLines
免费 · 无需注册 浏览器本地 · 零上传 · 标签页里的 cat -n

为文本添加行号

粘贴一份列表,每行前面就自动加上行号。默认分隔符是 Tab,粘到 Excel 的 A 列里立即自动分列。起始数可改、可选 0 补齐或空格补齐让数字列对齐。

输入 · 0 行
输出 · 0 行
在左侧粘贴内容 — 结果会实时出现在这里。

或按 Ctrl+Enter

输入行数 0
空行数 0
输出行数0

什么时候用这个工具

指南
01 / 按编号引用行

审长日志或反馈列表?先加行号,就能直接说「看第 47 行」,不用描述内容。

02 / Excel / Sheets 索引列

Tab 分隔的输出粘到表格里直接分两列 —— A 列是行号,B 列是原文。无公式、无下拉填充。

03 / AI 提示词

让大模型「对每个编号项做…」时,先把项目编号好放进提示词,模型对每条的执行更稳。

04 / 快速统计行数

最后一行的数字就是总行数。比手数快,不用 `wc -l`。

使用方法

三个步骤
  1. 01

    粘贴文本或拖入 .txt 文件

    桌面 10 万行 / 手机 5 千行以下实时预览。超过自动切到大文件模式 —— 引擎和加行号逻辑完全一致,页面保持响应。

  2. 02

    选择分隔符 / 起始数 / 补齐

    分隔符:Tab(默认,粘到 Excel 自动分列)、空格、": "、". "。起始数可填任意整数。补齐方式:不补齐 / 0 补齐("007")/ 空格补齐(" 7")让数字列对齐。

  3. 03

    点击执行

    行号确定性地加在每行前面。空行开关关闭(默认):空行也编号 —— `cat -n` 行为。开启:`cat -b` 行为 —— 跳过空行但非空行的编号保持连续。

引擎内部

工程笔记
算法
线性单次扫描 · O(n)

每行把游标编号格式化为字符串,可选地按最大宽度补齐,再前缀分隔符。游标只在实际加号的行上前进。

补齐宽度
String(start + count − 1).length

宽度按本次最终会输出的最大编号一次性算出。1000 行文件始终补到 4 位,不会中途变化。开启「去除空行」时用非空行数计算。

吞吐
2024 款 M3 MacBook Air 上 10 万行加号约 90 ms

和其他工具共用同一引擎。文件 ≥ 2 MB 或 ≥ 10 万行时自动切到 Web Worker,主线程保持响应。

隐私与限制

数据留在哪里

一切都在浏览器内运行 —— 不上传、不 fetch、不对你粘贴的文本做任何统计。行号本地算。单次硬上限 80 MB。

常见问题

问答

为什么默认用 Tab 作分隔符?

Tab 分隔的文本粘到 Excel、Google Sheets、Numbers 里会自动分成两列。空格、冒号 + 空格(": ")、点号 + 空格(". ")作为纯文本用途也都一键可选。

可以从 0 或 100 开始编号吗?

可以 —— 在「起始数」框里填任意整数,负数和 0 都接受。补齐宽度会按本次会产生的最大绝对值自动调整。

空行怎么处理?

由「去除空行」开关切两种模式。关闭(默认):连空行一起编号 —— `cat -n` 行为。开启:只给非空行编号但保持连续编号(非空行依然是 "1、2、3",即使中间有空行) —— `cat -b` 行为。

和 Excel 的 ROW() 公式有什么区别?

ROW() 要求数据已经在单元格里、行号在另一列、删行会出错。本工具给你纯文本结果,可以粘到任何地方 —— 邮件、聊天、PDF、Markdown —— 不依赖公式。

我的文本会上传吗?

不会。加行号完全在浏览器内运行。没有 fetch、没有 XHR、没有遥测。加载完之后断网,工具还能用。