paste
是 Linux 中一个用于水平合并文件内容 的命令行工具,它将多个文件的对应行以并行方式拼接,默认用制表符(Tab)分隔。
1. 基本语法
paste [选项] 文件1 文件2 ...
2. 常用选项
选项 | 说明 |
---|---|
-d |
指定拼接后的分隔符(默认是 Tab) |
-s |
按行顺序合并(将单个文件的多行转为单行) |
- |
从标准输入(stdin)读取数据(结合管道使用) |
--help |
显示帮助信息 |
3. 核心功能示例
示例1:合并两个文件(默认制表符分隔)
假设文件 file1.txt
和 file2.txt
内容如下:
file1.txt # file2.txt
A 1
B 2
C 3
paste file1.txt file2.txt
A 1
B 2
C 3
示例2:指定自定义分隔符(-d
)
paste -d',' file1.txt file2.txt
A,1B,2
C,3
示例3:合并多个文件
合并三个文件(分隔符为 :
):
paste -d':' file1.txt file2.txt file3.txt
示例4:按行合并单个文件(-s
)
paste -s file1.txt
A B C
3. 对比其他工具
工具 | 用途 | 特点 |
---|---|---|
paste |
水平合并文件 | 简单高效,适合并行拼接行 |
cat |
垂直合并文件 | 按顺序拼接文件内容 |
pr |
分栏格式化文本 | 支持分页和多列布局 |
join |
基于键值合并文件 | 类似数据库的 JOIN 操作,需排序预处理 |
paste
是处理多文件行级合并的利器,特别适合以下场景:
-
快速合并日志、表格或配置文件。
-
生成结构化数据组合(如 CSV)。
-
结合管道流式处理数据。
掌握 -d
和 -s
选项后,可灵活应对各类文本拼接需求!