macOS终端提供三种原生文本合并方案:一、cat *.txt > merged.txt 适用于无空格、同编码、需顺序合并;二、find + xargs -0 处理含空格或子目录文件;三、while循环追加分隔线,便于溯源且兼容特殊字符。

如果您需要将多个文本文档在 macOS 系统中快速合并为一个文件,终端命令行提供高效且无需第三方工具的原生方案。以下是通过终端执行批量合并的具体操作:
一、使用 cat 命令顺序合并所有 .txt 文件
cat 命令可按指定顺序读取多个文本文件内容并输出到标准输出,配合重定向符号 > 可一次性写入新文件。该方法适用于文件名无空格、编码一致(如 UTF-8)且需严格保持原始顺序的场景。
1、打开“终端”应用程序(位于“应用程序 > 实用工具”中)。
2、使用 cd 命令切换至存放待合并文本文件的目录,例如:cd ~/Desktop/texts/。
3、执行合并命令,将当前目录下全部 .txt 文件按字母顺序合并为 merged.txt:cat *.txt > merged.txt。
4、验证结果,输入:ls -l merged.txt,确认文件已生成且大小非零。
二、使用 find 与 xargs 组合处理含空格或子目录中的 .txt 文件
当待合并文件名包含空格、位于多层子目录中,或需排除隐藏文件时,直接使用 *.txt 会失败。find 命令可安全遍历路径,xargs -0 配合 -print0 可规避空格截断问题。
1、进入目标父目录,例如:cd ~/Documents/project/。
2、运行以下命令,递归查找所有 .txt 文件(不含隐藏文件),按路径字典序合并:find . -type f -name "*.txt" -not -path "*/.*" -print0 | sort -z | xargs -0 cat > full_merged.txt。
3、检查输出文件是否包含预期内容:head -n 20 full_merged.txt。
三、使用 while read 循环逐个追加并插入分隔线
该方法确保每个源文件内容之间添加清晰分隔标识(如文件名与横线),便于后续人工识别来源,同时兼容任意文件名(含空格、特殊字符),且避免一次性加载过大内容至内存。
1、切换至目标目录:cd /path/to/your/txt/files。
2、执行带分隔符的合并脚本:> combined_with_headers.txt; for f in *.txt; do echo "=== $f ===" >> combined_with_headers.txt; cat "$f" >> combined_with_headers.txt; echo "" >> combined_with_headers.txt; done。
3、查看前几行确认格式正确:cat combined_with_headers.txt | head -n 15。










