Linux命令(43)——paste命令

1.功能

paste命令将多个文件的相应行默认以Tab分隔符横向连接起来,输出到标准输出。paste后可接多个文件,不限于2个文件。如果文件写成“-”,表示内容来自标准输入。paste相对于join来说,简单许多,不需要有相同的字段才能按行连接。

2.格式

pasete [选项] [file1 ...]

3.选项说明

-d,--delimiters=[LIST]:用指定的域分隔隔符取代Tab。
-s,--serial:顺序地合并一个文件的所有行到一行。
--help:显示帮助信息。
--version:显示版本。

4.示例

有两个文件file1.txt和file2.txt,内容如下:

#file1内容
[root@tencent ~]# cat file1.txt
abc
def
ghi

#file2内容
[root@tencent ~]# cat file2.txt
123
456
789
012

(1)将文件file1.txt的所有行合并到一行。

[root@tencent ~]# paste -s file1.txt
abc def ghi

#指定域分隔符为:
[root@tencent ~]# paste -s file1.txt
abc:def:ghi

(2)将多个文件的所有行分别合并为一行。

[root@tencent ~]# paste -s file1.txt file2.txt
abc def ghi
123 456 789 012

(3)横向连接两个文件,默认以Tab分隔。

[root@tencent ~]# paste file1.txt file2.txt
[root@tencent ~]# paste a.txt 1.txt
abc 123
def 456
ghi 789
    012

#通过交换文件名可指定列的位置
[root@tencent ~]# paste file2.txt file1.txt
123 abc
456 def
789 ghi
012 

(4)paste黏贴的内容(行)从标准输入读取,此时可以使用“-”来指代。例如查看/etc下的文件列表,并用paste打印成每行显示五个文件名。

[root@tencent ~]# ls /etc/ | paste -d: - - - - -
cpi:adjtime:aliases:alternatives:anacrontab
anthy-conf:asound.conf:at.deny:audisp:audit
bash-command-not-found:bash_completion.d:bashrc:blkid:bonobo-activation
...

5.注意事项

如果文件格式是DOS,即文件换行符是\r\n,那么会出现内容覆盖的情况。比如 file1.txt和file2.txt格式是DOS,那么paste这两个文件会出现如下情况:

[root@tencent ~]# paste file1.txt file2.txt
:123
:456
:789
:012

从结果可以看出,来自file1.txt的行被file2.txt的行覆盖,解决办法是,使用vim的末行命令:set ff=unix将文本格式改为Unix。


参考文献

[1]man paste [2]Shell基础之-paste命令

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏葡萄城控件技术团队

使用 PowerShell 自动化 CloudServices 发布

在软件的开发过程中,自动化的编译和部署能够带来很多的优势。如果可以通过一个脚本实现软件的自动化部署,那么就可以节省大量的时间去做其它事情。 下面介绍如何将云应用...

2217
来自专栏進无尽的文章

基础篇-Mac终端指令大全

在日常开发中我们经常会用到一些Mac的指令在终端中进行操作,所以了解和熟练使用一些基本的Mac终端指令是非常有必要的,也有利于自己的职业发展,下面就简单总结下M...

781
来自专栏企鹅号快讯

Linux系统下常用的数据备份方法

Linux作为网络操作系统,在服务器方面的应用越来越广泛。作为专门的网络服务器,一个重要功能就是对服务器数据进行备份,以确保数据的安全。本文将介绍在Linux系...

2168
来自专栏SpringBoot 核心技术

SpringBoot核心技术:你了解Actuator开放指定监控节点吗?

之前章节SpringBoot核心技术:探究Actuator的默认开放节点 & 详细健康状态讲解了spring-boot-actuator默认开放的节点以及如何修...

1482
来自专栏移动安全

移动安全-api使用方式介绍

windows 环境请访问 Composer官网 下载安装包安装。unix 环境在命令行中执行以下命令安装。

7327
来自专栏建站达人秀

如何搭建 Django 网站

Django是一个非常受欢迎的全功能服务器端Python Web框架,可以快速开发安全和可维护的网站。由经验丰富的开发人员构建。Django负责处理Web开发大...

6695
来自专栏北京马哥教育

linux下用tar进行数据备份

豌豆贴心提醒,本文阅读时间7分钟 本机上数据的手工备份 Linux系统上配有功能强大的tar命令,可以灵活地备份数据。 tar最初是为了制作磁带备份而设计的把...

3098
来自专栏Golang语言社区

Golang语言--日志库glog解析

glog简介 glog是著名的google开源C++日志库glog的golang版本,glog是一个轻量级的日志库,上手简单不需要配置文件并且稳定高效,但是可以...

5016
来自专栏吴柯的运维笔记

Sed编辑器入门基础用法手册

简介 Sed(Stream Editor)是一款流编辑工具,可以实现对文本进行过滤和替换操作,在批量修改文件时简便一些。 -非交互 -逐行处理(一次读取一行...

2846
来自专栏linux运维学习

linux学习第二十篇:zip压缩,tar打包以及打包压缩

zip压缩工具 zip可以压缩目录,zip压缩包不能直接查看文件内容,只能查看里面文件列表 zip 1.txt.zip 1.txt //压缩文件,不同...

2256

扫码关注云+社区

领取腾讯云代金券