在 Linux 中,合并多个文件的方法取决于文件类型和合并方式。下面按常见场景给你总结,基本都可直接用。
cat(最推荐)cat file1.txt file2.txt file3.txt > merged.txt
如果文件很多:
cat *.txt > merged.txt
如果是按顺序合并多个日志、配置、代码文件,
cat是最合适的。
cat file1.txt >> file2.txt
⚠️ 注意:>> 是追加,> 是覆盖。
cat file1.txt file2.txt | sort -u > merged.txt
适合:
cat a.csv b.csv > merged.csv
head -1 a.csv > merged.csv
tail -n +2 -q *.csv >> merged.csv
pastepaste file1.txt file2.txt > merged.txt
示例:
file1:
a
b
file2:
1
2
结果:
a 1
b 2
指定分隔符:
paste -d',' file1.txt file2.txt
catcat part1.bin part2.bin > full.bin
⚠️ 不要用于压缩包、图片等需要特殊工具的情况。
tar 合并多个文件tar -cvf all.tar file1 file2 file3
tar -A -f target.tar source1.tar source2.tar
cat file.part* > file
例如:
cat data.tar.gz.part* > data.tar.gz
❌ 合并二进制文件用 paste
❌ 覆盖原文件用 >
❌ 忘记编码(Windows → Linux 可用 dos2unix)
| 场景 | 命令 |
|---|---|
| 文本合并 | cat a b > c |
| 去重合并 | `cat a b |
| 横向合并 | paste a b |
| CSV 去表头 | tail -n +2 |
| 分卷合并 | cat part* > file |
如果你能告诉我:
我可以给你一条最合适、最安全的命令。