Linux paste命令的使用方法

 更新时间:2020年02月21日 11:54:43   作者:沧海一笑-dj  
这篇文章主要介绍了Linux paste命令的使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

01. 命令概述

paste命令会把每个文件以列对列的方式,一列列地加以合并 ,他就是相当于把两个不同的文件内容粘贴在一起,形成新的文件。

注意:paste默认粘贴方式以列的方式粘贴,但是并不是不能以行的方式粘贴,加上-s选项就可以行方式粘贴。

02. 命令格式

用法:paste [选项]... [文件]...

03. 常用选项

将每个指定文件里的每一行整合到对应一行里写到标准输出,之间用制表符分隔。
如果没有指定文件,或指定文件为"-",程序将从标准输入读取数据。

长选项必须使用的参数对于短选项时也是必需使用的。
  -d, --delimiters=列表 改用指定列表里的字符替代制表分隔符
  -s, --serial  不使用平行的行目输出模式,而是每个文件占用一行
      --help  显示此帮助信息并退出
      --version  显示版本信息并退出

04. 参考示例

文件内容如下

[deng@localhost test]$ cat file1
1
2
3
4
5
6
[deng@localhost test]$ cat file2
AA
BB
CC
DD
EE
FF
[deng@localhost test]$ 

 4.1 合并两个文件

[deng@localhost test]$ paste file1 file2
1    AA
2    BB
3    CC
4    DD
5    EE
6    FF
[deng@localhost test]$ 

可以看出 默认使用制表符分隔

[deng@localhost test]$ paste file1 file2 | sed -n l
1\tAA$
2\tBB$
3\tCC$
4\tDD$
5\tEE$
6\tFF$
[deng@localhost test]$ 

4.2 指定字符代表制表符作为分隔符

[deng@localhost test]$ paste -d '*' file1 file2
1*AA
2*BB
3*CC
4*DD
5*EE
6*FF
[deng@localhost test]$ 

4.3 每个文件合并成行而不是按行粘贴。(行列转置会用到)

[deng@localhost test]$ paste -s -d '*' file1 file2
1*2*3*4*5*6
AA*BB*CC*DD*EE*FF
[deng@localhost test]$ 

要注意一点,此处一定要把星号用引号括起来(单引号双引号均可),否则 Shell]会把星号扩展为当前目录下的文件列表,千万小心。

4.4 行列倒转

[deng@localhost test]$ paste -s file1
1    2    3    4    5    6
[deng@localhost test]$ 

4.5 两个文件行数不同

[deng@localhost test]$ paste file1 file2
1    AA
2    BB
3    CC
4    DD
5    EE
6    FF
7
[deng@localhost test]$ 

注意, 参数的顺序对输出是有影响的

[deng@localhost test]$ paste file2 file1
AA   1
BB   2
CC   3
DD   4
EE   5
FF   6
    7
[deng@localhost test]$ 

4.6 拼接多个文件

[deng@localhost test]$ paste file1 file2 file3
1    AA   aa
2    BB   bb
3    CC   cc
4    DD   dd
5    EE   ee
6    FF   ff
7
[deng@localhost test]$ 

paste 好强大,多个文件,照样能够按行拼接。而且会发现,paste 拼接是和文件列表的顺序有关的。

paste命令还有一个很有用的选项(-)。意即对每一个(-),从标准输入中读一次数据。使用空格作域分隔符,以一个6列格式显示目录列表。方法如下:

[root@master etc]# cat /etc/passwd|head -n 5|cut -d : -f 1,3-5|paste -d@ - - -
root:0:0:root@bin:1:1:bin@daemon:2:2:daemon
adm:3:4:adm@lp:4:7:lp@
[root@master etc]# cat /etc/passwd|head -n 5|cut -d : -f 1,3-5|paste -d@ - - - 
root:0:0:root@bin:1:1:bin@daemon:2:2:daemon
adm:3:4:adm@lp:4:7:lp@
[root@master etc]# cat /etc/passwd|head -n 5|cut -d : -f 1,3-5|paste -d@ - - - -
root:0:0:root@bin:1:1:bin@daemon:2:2:daemon@adm:3:4:adm
lp:4:7:lp@@@
[root@master etc]# cat /etc/passwd|head -n 5|cut -d : -f 1,3-5|paste -d@ - - - - -
root:0:0:root@bin:1:1:bin@daemon:2:2:daemon@adm:3:4:adm@lp:4:7:lp
[root@master etc]# cat /etc/passwd|head -n 5|cut -d : -f 1,3-5|paste -d@ - - - - - -
root:0:0:root@bin:1:1:bin@daemon:2:2:daemon@adm:3:4:adm@lp:4:7:lp@
[root@master etc]# cat /etc/passwd|cut -d : -f 1,3-5|paste -d@ - - - - - -
root:0:0:root@bin:1:1:bin@daemon:2:2:daemon@adm:3:4:adm@lp:4:7:lp@sync:5:0:sync
shutdown:6:0:shutdown@halt:7:0:halt@mail:8:12:mail@uucp:10:14:uucp@operator:11:0:operator@games:12:100:games
gopher:13:30:gopher@ftp:14:50:FTP User@nobody:99:99:Nobody@dbus:81:81:System message bus@usbmuxd:113:113:usbmuxd user@avahi-autoipd:170:170:Avahi IPv4LL Stack
vcsa:69:69:virtual console memory owner@rtkit:499:497:RealtimeKit@abrt:173:173:@haldaemon:68:68:HAL daemon@saslauth:498:76:"Saslauthd user"@postfix:89:89:
ntp:38:38:@apache:48:48:Apache@avahi:70:70:Avahi mDNS/DNS-SD Stack@pulse:497:496:PulseAudio System Daemon@gdm:42:42:@sshd:74:74:Privilege-separated SSH
tcpdump:72:72:@zookeeper:500:500:zookeeper@hadoop:501:501:@@@

到此这篇关于Linux paste命令的使用方法的文章就介绍到这了,更多相关Linux paste命令内容请搜素脚本之家以前的文章或下面相关文章,希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

相关文章

  • 解决Ubuntu19 安装Theano问题

    解决Ubuntu19 安装Theano问题

    这篇文章主要介绍了解决Ubuntu19 安装Theano出现"No module named ‘theano.compat.six’"问题,需要的朋友可以参考下
    2019-12-12
  • Linux文件系统之缓冲区详解

    Linux文件系统之缓冲区详解

    在 Linux 中,缓冲区通常指的是用于临时存储数据的内存区域,它可以用来提高系统性能,Linux 中有多种类型的缓冲区,包括文件系统缓冲区、网络缓冲区等,本文给大家详细介绍了Linux文件系统之缓冲区,感兴趣的朋友可以参考下
    2024-02-02
  • linux软链接的创建、删除和更新方式

    linux软链接的创建、删除和更新方式

    这篇文章主要介绍了linux软链接的创建、删除和更新方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • Linux如何配置ntp时间同步

    Linux如何配置ntp时间同步

    本文介绍了在Linux系统中配置时间同步的两种方法:使用Chrony和NTP,对于Chrony,步骤包括安装Chrony,编辑配置文件/etc/chrony/chrony.conf,重启服务并检查配置,对于NTP,步骤涉及安装NTP,修改配置文件/etc/ntp.conf
    2024-10-10
  • 最新Linux下安装tomcat8图解过程

    最新Linux下安装tomcat8图解过程

    这篇文章主要介绍了最新的Linux下安装tomcat8图解过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08
  • CentOS MySQL 5.7编译安装步骤详细说明

    CentOS MySQL 5.7编译安装步骤详细说明

    这篇文章主要介绍了CentOS MySQL 5.7编译安装详细介绍的相关资料,这里对安装步骤进行了详细介绍,需要的朋友可以参考下
    2016-12-12
  • 在Windows的Apache服务器上配置对PHP和CGI的支持

    在Windows的Apache服务器上配置对PHP和CGI的支持

    这篇文章主要介绍了在Windows的Apache服务器上配置对PHP和CGI的支持,其中CGI脚本文中演示的为Perl示例,需要的朋友可以参考下
    2015-07-07
  • Linux VPS安全设置之二 禁用ROOT账户

    Linux VPS安全设置之二 禁用ROOT账户

    我们网站是软件扫描,还是人为的操作端口的扫描弱命令是一种方法,其次就是猜测ROOT权限账户
    2012-09-09
  • Linux下关于mtrace工具排查内存泄露的问题

    Linux下关于mtrace工具排查内存泄露的问题

    这篇文章主要介绍了Linux下关于mtrace工具排查内存泄露的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • linux cgroups详细介绍

    linux cgroups详细介绍

    cgroups(Control Groups) 是 linux 内核提供的一种机制,这种机制可以根据需求把一系列系统任务及其子任务整合(或分隔)到按资源划分等级的不同组内,从而为系统资源管理提供一个统一的框架。这篇文章主要介绍了linux cgroups 简介,需要的朋友可以参考下
    2018-08-08

最新评论