码迷,mamicode.com
首页 > 系统相关 > 详细

Linux常用命令--paste

时间:2016-06-28 18:45:32      阅读:262      评论:0      收藏:0      [点我收藏+]

标签:linux   paste   

1.功能:合并文件的列

2.用法:paste [参数] 文件 

3.参数:

    -d, --delimiters 指定间隔符,

    -s, --serial 将多行数据合并成多列

4.例子

选取/etc/passwd文件的第一列和最后一列作为原始数据,使用paste命令进行测试,首先要从/etc/passwd文件中将第一列和最后一列提取出来:

[mysql@mysql ~]$ cat /etc/passwd |awk -F ":" ‘{print $1}‘>user_name.txt

[mysql@mysql ~]$ cat /etc/passwd |awk -F ":" ‘{print $NF}‘>user_login.txt

[mysql@mysql ~]$ head user_*#查看文件内容


例1:合并user_name,user_login两列

[mysql@mysql ~]$ paste user_name.txt user_login.txt|head -5

root    /bin/bash

bin    /sbin/nologin

daemon    /sbin/nologin

adm    /sbin/nologin

lp    /sbin/nologin

指定分隔符为“,”

[mysql@mysql ~]$ paste -d "," user_name.txt user_login.txt|head -5

root,/bin/bash

bin,/sbin/nologin

daemon,/sbin/nologin

adm,/sbin/nologin

lp,/sbin/nologin

例2:行转列

文件的行转列,一个文件为1行。

一个文件行转列:

[mysql@mysql ~]$ paste -s user_name.txt 

root    bin    daemon    adm    lp    sync    shutdown    halt    mail    uucp    operator    games    gopher    ftp    nobody    dbus    oprofile    vcsa  hsqldb    saslauth    postfix    sshd    mysql    ntp

[mysql@mysql ~]$ paste -s user_name.txt |wc -l

1

两个文件行转列后进行和并:

[mysql@mysql ~]$ paste -s user_name.txt user_name.txt 

root    bin    daemon    adm    lp    sync    shutdown    halt    mail    uucp    operator    games    gopher    ftp    nobody    dbus    oprofile    vcsa  hsqldb    saslauth    postfix    sshd    mysql    ntp

root    bin    daemon    adm    lp    sync    shutdown    halt    mail    uucp    operator    games    gopher    ftp    nobody    dbus    oprofile    vcsa  hsqldb    saslauth    postfix    sshd    mysql    ntp

[mysql@mysql ~]$ paste -s user_name.txt user_name.txt |wc -l

2

文件合并之后再行转列:

[mysql@mysql ~]$ paste -d user_name.txt user_name.txt|paste -s |wc -l

1


Linux常用命令--paste

标签:linux   paste   

原文地址:http://myhwj.blog.51cto.com/9763975/1793711

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!