news 2026/4/16 8:42:23

Linux 命令:paste

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux 命令:paste

概述

Linux 中的paste命令,这个命令的核心作用是将多个文件的内容按列拼接(横向合并),简单说就是把不同文件的行“并排”显示,区别于cat按行拼接(纵向合并),是文本列处理的基础工具,常用于整合多组相关数据。

资料合集:https://pan.quark.cn/s/6fe3007c3e95https://pan.quark.cn/s/561de99256a5https://pan.quark.cn/s/985f55b13d94https://pan.quark.cn/s/d0fb20abd19a

一、基本语法

paste[选项][文件1][文件2]...
  • 无文件参数时,默认读取标准输入(可配合管道|使用);
  • 若指定-作为文件,代表从标准输入读取内容;
  • 默认用制表符(\t分隔不同文件的列。

二、核心默认行为

假设有两个文件:

# file1.txt 内容(姓名) 张三 李四 王五 # file2.txt 内容(年龄) 25 30 28

执行最简命令:

pastefile1.txt file2.txt

输出效果(制表符分隔两列):

张三 25 李四 30 王五 28
  • 若文件行数不一致,短文件的后续行用空值填充;
  • 多文件拼接时,按“行号对应”规则横向合并。

三、常用选项(重点)

paste的选项极少但精准,核心围绕“分隔符”和“拼接方向”设计:

选项作用实用场景
-d "符号"--delimiters=符号,指定列分隔符(替代默认制表符)用逗号/空格/竖线分隔,适配CSV/表格输出
-s--serial,将文件内容串行拼接(单行显示)把多行文本转为单行,用分隔符连接
-z--zero-terminated,用\0替代换行符分隔处理含特殊换行的文件(如find -print0的输出)

四、经典实操示例(覆盖所有核心场景)

场景1:自定义列分隔符(最常用)

用逗号分隔,生成CSV格式的合并文件,适配表格工具(Excel/Calc):

# 逗号分隔,输出到csv文件paste-d","file1.txt file2.txt>user.csv# 查看结果catuser.csv# 输出:# 张三,25# 李四,30# 王五,28
场景2:多文件拼接(3个及以上文件)

新增file3.txt(职业):

工程师 产品经理 设计师

用竖线|分隔3列:

paste-d"|"file1.txt file2.txt file3.txt# 输出:# 张三|25|工程师# 李四|30|产品经理# 王五|28|设计师
场景3:串行拼接(多行转单行)

-s将单个文件的多行内容转为单行,分隔符用空格:

# 单行显示姓名,空格分隔paste-s -d" "file1.txt# 输出:张三 李四 王五# 多个文件分别串行拼接(每个文件占一行)paste-s -d","file1.txt file2.txt# 输出:# 张三,李四,王五# 25,30,28
场景4:配合管道处理命令输出

ls(文件名)和wc -l(文件行数)的结果横向合并:

# 先获取当前目录txt文件列表,保存到tmp1ls*.txt>tmp1# 统计每个txt文件的行数,保存到tmp2wc-l *.txt|awk'{print $1}'>tmp2# 横向合并,用制表符分隔pastetmp1 tmp2# 更简洁的管道写法(无需临时文件)paste<(ls*.txt)<(wc-l *.txt|awk'{print $1}')
场景5:处理行数不一致的文件

file2.txt少1行:

# file2.txt 内容 25 30

拼接后短文件补空:

paste-d":"file1.txt file2.txt# 输出:# 张三:25# 李四:30# 王五:
场景6:从标准输入读取(混合文件+管道)

-代表标准输入,实现“文件内容 + 命令输出”拼接:

# 左侧是file1.txt的姓名,右侧是当前时间(每行相同)catfile1.txt|paste-d"|"-<(date+%Y-%m-%d)# 输出:# 张三|2026-01-29# 李四|2026-01-29# 王五|2026-01-29

五、与同类命令的核心区别

paste专注“列合并”,与cat(行合并)、join(按关键字合并)的差异清晰:

命令合并方式核心逻辑适用场景
paste按行号横向列合并无匹配逻辑,仅行号对应简单列拼接(如姓名+年龄+职业)
cat按顺序纵向行合并追加内容到末尾合并多个文件的行(如日志片段)
join按关键字列合并按指定字段匹配行关联数据(如用户ID匹配订单)

六、关键注意事项

  1. 分隔符转义:若需用特殊分隔符(如制表符\t、换行符\n),需用单/双引号包裹,例:paste -d "\t|" file1.txt file2.txt(交替用制表符和竖线);
  2. 空文件处理:拼接空文件时,对应列全为空;
  3. 换行符兼容:若文件含Windows换行符(\r\n),需先用dos2unix转换,否则拼接后可能出现乱码/错位;
  4. 超大文件paste逐行处理,内存占用低,可直接处理GB级文本文件。

七、拓展:paste + split 反向操作

split按列拆分的文件,可通过paste还原:

# 第一步:用split按2列拆分(先把单行转多行,再拆分)echo"a,b,c,d,e,f"|tr',''\n'|split-l2-d - col_# 第二步:用paste合并还原为单行(逗号分隔)paste-s -d","col_*# 输出:a,b,c,d,e,f

总结

paste轻量的列合并工具,核心价值是按行号横向拼接多文件,日常高频用法:

  1. 基础列拼接:paste -d "分隔符" 文件1 文件2
  2. 多行转单行:paste -s -d "分隔符" 文件
  3. 命令输出+文件拼接:paste -d "分隔符" - <(命令)
  4. 还原split拆分的列文件:paste -s -d "分隔符" 拆分文件*
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 7:44:28

大模型转型攻略:零基础入门到实战项目全指南

本文是一份大模型领域转型攻略&#xff0c;从明确目标方向到掌握基础知识&#xff0c;再到深入学习Transformer架构、预训练微调等技术&#xff0c;通过实践项目和参与开源社区提升能力&#xff0c;提供学习资源、职业发展建议及常见问题解答&#xff0c;帮助零基础学习者系统进…

作者头像 李华
网站建设 2026/4/16 7:45:03

LangChain 1.0+ LCEL 深度解析:从可选方案到生产级标准的进化

​ 【个人主页&#xff1a;玄同765】 大语言模型&#xff08;LLM&#xff09;开发工程师&#xff5c;中国传媒大学数字媒体技术&#xff08;智能交互与游戏设计&#xff09; 深耕领域&#xff1a;大语言模型开发 / RAG知识库 / AI Agent落地 / 模型微调 技术栈&#xff1a;Pyth…

作者头像 李华
网站建设 2026/4/16 7:41:36

【三端毕设源码分享】基于springboot+小程序的民宿预订系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/4/15 15:23:59

【三端毕设源码分享】基于springboot+小程序的餐厅点餐系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/4/16 7:43:49

计算机技术与科学毕业设计简单的开题分享

0 选题推荐 - 人工智能篇 毕业设计是大家学习生涯的最重要的里程碑&#xff0c;它不仅是对四年所学知识的综合运用&#xff0c;更是展示个人技术能力和创新思维的重要过程。选择一个合适的毕业设计题目至关重要&#xff0c;它应该既能体现你的专业能力&#xff0c;又能满足实际…

作者头像 李华
网站建设 2026/4/16 7:45:18

【三端毕设源码分享】基于springboot+小程序的本科毕业作品管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华