当前位置:首页>Linux>Linux基础 | paste 命令使用指南:把多行数据“横向拼接”的神器

Linux基础 | paste 命令使用指南:把多行数据“横向拼接”的神器

  • 2026-09-09 06:28:10
Linux基础 | paste 命令使用指南:把多行数据“横向拼接”的神器
在 Linux 进行文本处理时,我们经常需要把多个文件的数据合并在一起。
例如有两个文件:
name.txt

Tom

Jerry

Alice

age.txt

25

30

28

如果想把它们合并成:

Tom 25

Jerry 30

Alice 28

很多人可能会想到写脚本,其实 Linux 早就提供了一个简单的工具:paste
一句话理解:paste 用于将多个文件的内容按行“横向拼接”。
它是 Linux 文本处理工具链中非常实用的一员,经常用于数据整理、日志处理、CSV 生成等场景。

一、paste 命令基本语法

基本格式:
paste [选项] 文件1 文件2 ...
默认行为:
按行读取多个文件
→ 使用 TAB 分隔
→ 合并输出
简单来说就是:
file1 第1行 + file2 第1行
file1 第2行 + file2 第2行
...

二、最基础的使用示例

准备两个文件:
cat name.txt
输出:
Tom
Jerry
Alice
再查看年龄文件:
cat age.txt
输出:
25
30
28
执行 paste:
paste name.txt age.txt
输出结果:
Tom     25
Jerry   30
Alice   28
默认分隔符是Tab。

三、自定义分隔符(-d)

如果不希望使用 Tab,可以指定分隔符。
示例:
paste -d "," name.txt age.txt
输出:
Tom,25
Jerry,30
Alice,28
这样就变成了CSV 格式数据。
再看一个例子:
paste -d ":" name.txt age.txt
输出:
Tom:25
Jerry:30
Alice:28

四、合并多个文件

paste 不仅可以合并两个文件,还可以合并多个文件。
假设再创建一个文件:
city.txt

Beijing

Shanghai

Shenzhen

执行:
paste name.txt age.txt city.txt
输出:
Tom     25     Beijing
Jerry   30     Shanghai
Alice   28     Shenzhen
这样就形成了一个完整的数据表。

五、将一列数据变为一行(-s)

有时候我们希望把多行数据合并成一行。
这时可以使用 -s 参数。
示例:
paste -s name.txt
输出:
Tom    Jerry    Alice
如果再指定分隔符:
paste -s -d"," name.txt
输出:
Tom,Jerry,Alice
这在生成CSV 或列表数据时非常实用。

六、生成简单的 CSV 文件(实战)

假设我们有三个文件:
name.txt
age.txt
city.txt
如果想生成一个 CSV 文件:
paste -d"," name.txt age.txt city.txt > users.csv
生成内容:
Tom,25,Beijing
Jerry,30,Shanghai
Alice,28,Shenzhen
这样就完成了一个简单的数据整理。

七、结合命令输出使用

paste 不仅可以处理文件,还可以处理命令输出。
例如:
paste <(seq 3) <(seq 46)
输出:
1 4
2 5
3 6
解释:
seq 3   → 1 2 3
seq 4 6 → 4 5 6
paste 将它们按行合并。
这种技巧在脚本处理数据时非常方便。

八、paste 与 join 的区别

很多人容易混淆 paste 和 join。
它们的区别如下:
命令
作用
paste
按行合并文件
join
按字段匹配合并
举个例子:
paste  → 第一行 + 第一行
join   → 按关键字段匹配
因此:
paste 更简单
join 更智能

九、paste 常见使用场景

在实际工作中,paste 常见于:
1️⃣ 合并多列数据
2️⃣ 生成 CSV 文件
3️⃣ 日志整理
4️⃣ 批量数据处理
例如统计文件:
ls | paste -s -d","
输出:
file1,file2,file3,file4
这在自动化脚本中非常实用。

十、小结

paste 是 Linux 中一个简单但非常实用的文本处理工具。
核心功能是:将多个文件按行横向合并。
常用参数总结:
参数
作用
-d
指定分隔符
-s
按顺序合并为一行
一句话总结:paste 就像一支“胶水”,可以把多列文本数据拼接成完整结构。
在 Linux 文本处理工具链中,它经常与这些命令一起使用:
cut
sort
uniq
grep
awk
掌握这些工具后,你就能在 Linux 终端中高效完成各种数据处理任务。

最新文章

随机文章