# 在线合并 Markdown 与命令行方案对比

> 在线合并与命令行方案（cat、pandoc、Python 脚本）的对比，以及各自适用场景。

# 在线合并 Markdown 与命令行方案对比（cat / pandoc / Python）

合并 Markdown 文件有两大路线：MergeMarkdown 这样的免费在线工具，以及命令行方案
（`cat`、`pandoc` 或一段 Python 脚本）。两者都能得到合并后的 `.md` 文件，
但适合的人和场景不同。本页如实对比，帮你十秒钟做出选择。

## 快速对比表

| 维度 | 在线工具（MergeMarkdown） | `cat *.md` | `pandoc` | Python 脚本 |
| --- | --- | --- | --- | --- |
| 上手成本 | 零——打开即用 | 需基础 shell | 中等——要记参数 | 需 Python 基础 |
| 文件排序 | 拖拽排序 | 仅按字母顺序 | 手动指定顺序 | 代码里自己定 |
| 实时预览 | 有，渲染后 HTML | 无 | 无（转完再看） | 除非自己写 |
| 分隔符 | 内置 `---` / 空行 | 自己加 `echo` | 手动处理 | 代码里自己定 |
| 格式转换 | 仅 Markdown | 无 | 有（md→pdf/docx/html） | 配合库可以 |
| 隐私 | 浏览器本地 100% | 完全本地 | 完全本地 | 完全本地 |
| 适合 | 快速合并、排序、预览 | 服务器上快速拼接 | 发布流水线 | 自动化与自定义规则 |

## 命令行方案细看

最快的 shell 方法是拼接：`cat intro.md install.md api.md > combined.md`。瞬间完成、
可写进脚本，但顺序全靠手写（`cat *.md` 则按字母序），分隔符要自己加，也没有预览，
只能用编辑器打开检查。`pandoc` 是重型工具：`pandoc ch1.md ch2.md -o book.docx`
一步完成合并加转 Word / PDF / HTML，非常适合发布流水线和 CI。Python 脚本
（循环读取 `pathlib.Path.read_text` 再用分隔符连接）适合自定义规则——跳过草稿、
改写图片路径、注入 front-matter，还能定时无人值守运行。

## 什么时候选在线工具

任务偏交互、偏视觉时选 MergeMarkdown：文件不多、顺序重要、下载前想看到渲染效果。
典型场景包括：把多个片段拼成 README、合并会议纪要、交稿前合并一次章节、在不能装
软件的电脑上干活。一次性合并用拖拽排序加实时预览，比敲 shell 命令更快；浏览器本地
处理，隐私上没有任何让步。

## 什么时候选命令行

合并可重复、规模大时选 `cat`、`pandoc` 或 Python：每晚构建的文档、CI 里拼
changelog、Markdown 转 PDF / Word、几百个文件的仓库。同样的合并每周跑一次，一行
shell 命令或 Makefile 目标比每次打开浏览器靠谱。常驻终端的开发者也会更喜欢可以纳入
版本管理的别名和脚本。

## 结论

一次性合并、要排序、要预览 → 在线工具。可重复、自动化、要转格式 → 命令行。很多团队
两者都用：结构未定稿时在浏览器里可视化拼排，结构稳定后用 `pandoc` 或 Python 把
流程自动化。

## FAQ

### `cat *.md` 足够合并 Markdown 文件吗？

在服务器上快速拼接够用：`cat *.md > combined.md` 瞬间完成。但它是按字母顺序拼接、无分隔符、无预览；要排章节顺序、加分隔线时，在线工具或脚本更可靠。

### pandoc 能合并 Markdown 文件吗？

能。`pandoc ch1.md ch2.md -o output.md` 按你列出的顺序合并，还能顺手转成 PDF、Word 或 HTML，非常适合发布流水线。

### 什么时候值得写 Python 脚本？

合并规则自定义且重复执行时：跳过草稿、改写图片路径、注入 front-matter、定时运行。流程稳定后，一段 pathlib 循环比手工操作靠谱得多。

### 哪种方式最保护隐私？

都可以完全私密：MergeMarkdown 在浏览器本地处理、不上传文件；cat、pandoc、Python 则跑在你自己的机器上。要避开的是那些把文件上传到服务器的陌生在线转换站。

