登录
首页 >  文章 >  linux

Linux下paste命令合并文件技巧教程

时间:2026-03-13 08:24:31 451浏览 收藏

想轻松将多个文本文件按列横向合并?Linux内置的paste命令正是为此而生——它能以制表符或自定义分隔符(如空格、逗号甚至多字符序列)精准拼接对应行,智能处理不等行长的文件(默认空字段填充),还支持--serial实现纵向序列化拼接;无论是快速预览、生成CSV、添加表头,还是配合awk等工具做数据对齐,paste都简洁高效、无需安装额外软件,是Linux文本处理中不可或缺的“列合并利器”。

Linux怎么按列合并文件 Linux使用paste命令拼接文本【干货】

如果您需要将多个文本文件按列的方式合并,例如将两个文件的对应行并排显示,Linux系统中paste命令是专门用于实现这一功能的工具。以下是使用paste命令完成按列合并文件的具体方法:

一、基础paste命令拼接两文件

paste默认以制表符为分隔符,将多个文件的对应行横向拼接,形成列式结构。该操作不修改原文件,仅输出到标准输出,适合快速查看或重定向保存。

1、打开终端,进入包含待合并文件的目录。

2、执行命令:paste file1.txt file2.txt

3、若需将结果保存为新文件,追加重定向:paste file1.txt file2.txt > merged.txt

二、指定自定义分隔符

当默认的制表符不符合阅读或后续处理需求时,可使用-d选项定义分隔符,使列间界限更清晰或适配特定格式要求。

1、使用空格作为分隔符:paste -d ' ' file1.txt file2.txt

2、使用逗号分隔(适用于CSV风格输出):paste -d ',' file1.txt file2.txt

3、使用多个字符循环分隔(如交替使用“|”和“-”):paste -d '|-' file1.txt file2.txt file3.txt

三、处理行数不等的文件

paste在遇到文件行数不一致时,默认用空字段填充较短文件的缺失行。可通过--serial选项改为逐列纵向拼接,或结合其他命令预处理对齐。

1、保持默认填充行为(推荐多数场景):paste file1.txt file2.txt,较短文件末尾自动补空字段。

2、启用序列模式(单列垂直堆叠):paste --serial file1.txt file2.txt

3、先用awk补齐行数再拼接:paste

四、合并多个文件并添加列标题

当参与合并的文件无标题行,而输出需带列名时,可将标题行单独构造后与数据拼接,利用paste实现表头对齐。

1、创建临时标题行(假设两列):echo -e "Name\tAge" > header.txt

2、将标题与数据文件拼接:paste header.txt

3、若需跳过原文件首行(已有标题),用tail处理:paste

五、结合cut与paste实现选择性列合并

当只需从原始文件中提取特定列再进行拼接时,可先用cut筛选字段,再交由paste组合,避免冗余内容干扰。

1、提取file1第一列与file2第二列拼接:paste

2、提取多列(如file1的第1、3列)与file2第2列合并:paste

3、指定分隔符为冒号并提取::paste -d ':'

到这里,我们也就讲完了《Linux下paste命令合并文件技巧教程》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>