cat命令是linux中合并文本文件最直接的方法,支持用>覆盖生成新文件、>>追加到已有文件、通配符批量合并,以及-n/-b/-s等选项格式化输出。

在 Linux 系统中,cat 命令是合并多个文本文件最直接、最常用的方法。它的本质是“连接(concatenate)”内容,再通过重定向保存结果。
基础合并:生成新文件
用 > 将多个文件内容按顺序写入一个新文件,原文件保持不变:
cat file1.txt file2.txt file3.txt > merged.txt- 如果
merged.txt已存在,原有内容会被完全覆盖 - 文件按命令中出现的顺序拼接,
file1.txt内容在最前,file3.txt在最后
追加合并:添加到已有文件末尾
用 >> 避免覆盖,把内容追加到目标文件末尾:
cat file1.txt file2.txt >> log_all.txt- 适合日志归档、增量收集等场景
- 若
log_all.txt不存在,会自动创建
批量合并:用通配符处理同类文件
省去手动列出每个文件,尤其适合按命名规则组织的文件:
-
cat config-*.conf > master.conf—— 合并所有以config-开头、后缀为.conf的文件 -
cat *.log > all_logs.txt—— 合并当前目录下全部.log文件 - 注意:通配符展开由 shell 完成,确保匹配结果有序(如需严格顺序,建议先用
ls确认)
合并时加行号或格式化(可选增强)
如果需要在合并结果中保留可读性,可结合 cat 选项:
-
cat -n file1.txt file2.txt > numbered_merged.txt—— 每行带编号(含空行) -
cat -b file1.txt file2.txt > nonblank_merged.txt—— 只给非空行编号 -
cat -s file1.txt file2.txt > compact_merged.txt—— 自动压缩连续空行为单个空行
不复杂但容易忽略:确保你对源文件有读权限,对目标路径有写权限;路径要写对,相对路径基于当前工作目录。











