Linux实用技巧——paste横向合并文件内容
时间:2022-07-24
本文章向大家介绍Linux实用技巧——paste横向合并文件内容,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
0. 前言
在工作的时候,遇到这么一个需求,有两文件,一个是query_file_1.txt
里面是原始去query,还有一个是query_file_2.txt
里面是改写后的query,这两个里面分别有2w+ 的query,并且两份文件里的每一行是一一对应的,数据格式如下所示:
Code.0.1 query_file_1.txt
[root@mobius ~]$ cat query_file_1.txt
FIFA足球世界
FIFA足球世界
FIFA足球世界
wps表格
南方周末
央视戏曲app
学校安全教育平台下载
安装万能钥匙
安装万能钥匙
小猪短租
...
Code.0.2 query_file_2.txt
[root@mobius ~]$ cat query_file_2.txt
fifa足球世界体
fifa足球世界世界
fifa足球世界 腾讯
wps 表格
南方周末报
央视戏曲app下载
学校教育安全平台下载
下载万能钥匙并安装
…万能钥匙
小猪短租公寓
...
现想要将这两个文件每一行使用制表符进行联接,如下格式:
FIFA足球世界 fifa足球世界体
FIFA足球世界 fifa足球世界世界
FIFA足球世界 fifa足球世界 腾讯
wps表格 wps 表格
南方周末 南方周末报
央视戏曲app 央视戏曲app下载
学校安全教育平台下载 学校教育安全平台下载
安装万能钥匙 下载万能钥匙并安装
安装万能钥匙 …万能钥匙
小猪短租 小猪短租公寓
...
在没有想到用paste
命令之前是想写脚本或者awk 来实现,但总是觉得杀鸡用牛刀,最后找到了paste
命令。
现写出解决方案:
Code.0.3 解决方法
[root@mobius ~]$ paste query_file_1.txt query_file_2.txt
FIFA足球世界 fifa足球世界体
FIFA足球世界 fifa足球世界世界
FIFA足球世界 fifa足球世界 腾讯
wps表格 wps 表格
南方周末 南方周末报
央视戏曲app 央视戏曲app下载
学校安全教育平台下载 学校教育安全平台下载
安装万能钥匙 下载万能钥匙并安装
安装万能钥匙 …万能钥匙
小猪短租 小猪短租公寓
...
下面对其进行说明
1. 使用方法
paste [COMMAND] [file_1] [file_2] [file_3] ...
其中常用的[COMMAND]
有 [-d]
[-s]
。
-d
:是指出使用的分隔符,可以不写,如 Code.0.3 解决方法 所示一样,但是如果想用单引号'
或者 双引号"
进行分割的话,要加上转义符
-s
:是将每个文件的行进行平铺,如 Code.0.3 s
使用示例 所示
Code.1.1 s
使用示例
[root@mobius ~]$ paste -s query_file_1.txt
FIFA足球世界 FIFA足球世界 FIFA足球世界 wps表格 南方周末 央视戏曲app 学校安全教育平台下载 安装万能钥匙 安装万能钥匙 小猪短租
2. 简单示例
下面有三个文件,分别是 name.txt
, job.txt
, email.txt
,其中 name.txt
有四行数据,后两者有三行数据
[root@mobius ~]$ cat name.txt
张三
李四
王五
赵六
[root@mobius ~]$ cat job.txt
程序员
设计师
产品经理
[root@mobius ~]$ cat email.txt
zhangsan@mail.com
lisi@mail.com
wangwu@mail.com
- 下面将三个文件使用制表符
t
进行横向合并 Code.2.1 paste -d 横向合并
[root@mobius ~]$ paste name.txt job.txt email.txt
张三 程序员 zhangsan@mail.com
李四 设计师 lisi@mail.com
王五 产品经理 wangwu@mail.com
赵六
其中最后一行 赵六
后面是有两个制表符t
下面将分隔符换成 *
就可看出
[root@mobius ~]$ paste -d* name.txt job.txt email.txt
张三*程序员*zhangsan@mail.com
李四*设计师*lisi@mail.com
王五*产品经理*wangwu@mail.com
赵六**
- 将三个文件平铺 Code.2.2 paste -s 文件平铺
[root@mobius ~]$ paste -s name.txt job.txt email.txt
张三 李四 王五 赵六
程序员 设计师 产品经理
zhangsan@mail.com lisi@mail.com wangwu@mail.com
- 前端黑魔法之远程控制地址栏
- 信息收集利器:ZoomEye
- go sync.Mutex 设计思想与演化过程 --转
- 漏洞预警 | Ubuntu 16.04版本存在本地提权漏洞(附EXP)
- 通过“震网三代”和Siemens PLC 0day漏洞,实现对工控系统的入侵实验
- 安卓端渗透工具DVHMA:自带漏洞的混合模式APP
- 小萝莉说Crash(二): Unrecognized selector xxx 之 ForwardInvocation
- 5分钟教程:如何通过UART获得root权限
- 源码级剖析PHP 7.2.x GD拒绝服务漏洞
- 美女程序媛发福利,读懂ANR的trace文件So easy
- Openshift高阶探索实验
- 卡卡卡!小萝莉告诉你开发iOS应用如何避免卡顿
- Bugly即将支持的ANR,精神哥告诉你是个什么鬼?
- Go语言Goroutine与Channel内存模型
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- PHP切割汉字的常用方法实例总结
- Laravel Validator 实现两个或多个字段联合索引唯一
- php实现的顺序线性表示例
- pytorch快速搭建神经网络_Sequential操作
- PHP7使用ODBC连接SQL Server2008 R2数据库示例【基于thinkPHP5.1框架】
- Yii框架引入coreseek分页功能示例
- 使用keras内置的模型进行图片预测实例
- PHP convert_cyr_string()函数讲解
- 在keras中model.fit_generator()和model.fit()的区别说明
- 浅谈matplotlib 绘制梯度下降求解过程
- Ajax+PHP实现的分类列表框功能示例
- keras实现图像预处理并生成一个generator的案例
- Django+RestFramework API接口及接口文档并返回json数据操作
- Yii2框架实现利用mpdf创建pdf文件功能示例
- PHP超低内存遍历目录文件和读取超大文件的方法