行数统计助手 | 快速统计代码行数

行数统计助手是一个在线工具,提供文本行数的精确统计,包括总行数、非空行数和空行数,支持多种文本格式,帮助分析和管理文档。

在浏览器中 已更新 05/2026

0 / 500,000
拖放文件以加载(最大 5 MB)
分析结果
总行数
0
非空行
0
空行
0
重复行
0
字符数
0
字符数(不含空格)
0
单词数
0
段落数
0
句子数
0
阅读时间
0 分钟
平均行长
0
最长行(字符)
0
最短行(字符)
0
最长单词
唯一单词数
0
行结束符
1
将您的文本粘贴或输入到输入区域,或拖放一个文本文件。
2
统计数据会随您的输入自动更新。点击分析强制刷新。
3
使用转换按钮(删除重复、排序、修剪、添加行号等)直接清理输入。
4
点击复制结果获取带标签的摘要,可粘贴到工单、README 或电子邮件中。
5
需要重新开始?点击垃圾桶图标清除输入并重置所有计数器。
快速提示
  • 直接将 .txt、.csv、.log、.md 或代码文件拖放到输入区域以即时加载。
  • 按 Ctrl + Enter(Mac 上为 Cmd + Enter)以重新运行分析。
  • 在统计前使用转换按钮(排序、去重、删除空行)来清理列表。
  • 行结束符字段告诉您文件使用的是 Unix LF、Windows CRLF 还是经典 Mac CR — 在调试跨平台文件时很有用。
  • 阅读时间使用每分钟 225 单词的平均速度 — 这是研究支持的成人默读速度。
实时分析

十六项指标 — 总行数、空行、非空行、重复行、单词、句子、段落、阅读时间等 — 都会随您的输入重新计算。

深度文本统计

平均/最长/最短行、最长单词、唯一单词数以及 Unix 与 Windows 行结束符检测。

一键转换

删除重复、排序、反转、修剪空白、删除空行或添加行号 — 直接应用于输入。

拖放文件加载

直接将任何 .txt/.csv/.log/.md/.json/.xml/.html/.css/.js/.py/.sql 文件(最大 5 MB)拖放到编辑器中。

五十万字符容量

在浏览器中处理多达 500,000 个字符 — 足以容纳整本书的章节、大型日志或 10,000 行的 CSV。

完全私密

所有处理都在您的浏览器中进行。不上传、不记录、不保存任何内容。

代码分析

统计 SLOC(代码行数)、发现空行/重复行,并在重构前查看平均行长。

写作与编辑

为文章、博客文章或论文达到字数要求、估算阅读时间并检查句子节奏。

数据清理

拖放 CSV、去除重复行、按字母排序并重新导出 — 非常适合清理电子邮件列表或地址数据。

电子邮件/短信模板

使用字符数和字符数(不含空格)计数器验证您的消息是否在字符限制内。

日志检查

快速了解日志文件包含多少行、有多少空行,以及行结束符是否与您的平台匹配。

SEO 和内容审核

单词数、段落数和阅读时间 — 每个内容审核检查清单都要求的三个指标。

免费的JSON API和Model Context Protocol (MCP) 服务器。无需注册、无需API密钥、CORS开放。专为Claude、ChatGPT、Cursor、脚本和前端应用设计。

curl -X POST https://mate.tools/api/v1/count-lines.php \
  -H "Content-Type: application/json" \
  -d '{"text":"line one\nline two\n\nline four"}'
import urllib.request, json

req = urllib.request.Request(
    "https://mate.tools/api/v1/count-lines.php",
    data=json.dumps({"text": "line one\nline two\n\nline four"}).encode(),
    headers={"Content-Type": "application/json"},
)
with urllib.request.urlopen(req) as r:
    print(json.load(r)["metrics"])
const r = await fetch("https://mate.tools/api/v1/count-lines.php", {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({ text: "line one\nline two\n\nline four" }),
});
console.log((await r.json()).metrics);

添加到 claude_desktop_config.json(Claude Desktop)、~/.cursor/mcp.json(Cursor)或任何其他MCP兼容客户端:

{
  "mcpServers": {
    "mate-tools": {
      "command": "npx",
      "args": ["-y", "@mate-tools/mcp-server"]
    }
  }
}

npm: @mate-tools/mcp-server · 完整指南: /api/mcp · 源码: 查看 server.js

常见问题

在两个换行标记之间只包含空白(空格或制表符)或完全没有字符的任何行。即使只有一个可见字符(包括标点符号)的行也会被计为非空行。

是的。每个 Unicode 码位都计为一个字符,包括表情符号、带重音的字母、CJK 字符和符号。字符数(不含空格)计数器仅去除空白。

可以 — 行结束符指示器在这里特别有用。空行和重复行计数让您在代码审查前发现死代码或复制粘贴错误。

浏览器编辑器可以舒适地处理多达 500,000 个字符。较大的文件最好通过加载文件按钮(上限 5 MB)加载,以确保解析器不会阻塞 UI。

阅读时间使用每分钟 225 单词,这是阅读研究中记录的屏幕上成人默读的平均速度。朗读者的平均速度约为每分钟 150 个单词。

它检测文本中出现的换行符:LF(Unix/Mac OS X/Linux/macOS)、CRLF(Windows)、CR(经典 Mac OS 9 及更早版本)。换行符混合的文件可能会破坏编译器、diff 工具和 shell 脚本。

只有当两行的全部内容完全匹配(包括大小写和空白)时,它们才被视为重复。要更宽松地去重,请先点击修剪空白,然后点击删除重复

运行转换(排序、去重等)后,输入区域会保留新文本 — 使用 Ctrl+A → Ctrl+C 复制,或点击复制结果获取统计摘要。

不会。整个分析(包括读取拖放的文件)都通过 JavaScript 在您的浏览器中运行。不上传任何内容,不记录文本的分析数据,不保存任何内容。

段落被检测为由至少一个空行与其他块隔开的非空行块。如果您的文档使用单行段落(之间没有空行),则计数将反映这一点。