本原创文章属于《Linux大棚》博客,博客地址为http://roclinux.cn。文章作者为rocrocket。

为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅。

===

[正文开始]


在本系列上一篇文章中涉及到了cut命令(《cut命令》-linux命令五分钟系列之十九),本文章介绍的这个paste命令,是一个专门和cut对着干的命令,作用是将几个文件拼凑在一起。

1 paste的拼凑原理是什么?

这个很简单,和cut的原理几乎一样,就是将几个文件的相应行用制表符连接起来,并输出到标准输出。

paste最简单的使用方法是:

[rocrocket@rocrocket programming]$ cat p1.txt

1
2
3
[rocrocket@rocrocket programming]$ cat p2.txt
a
b
c
[rocrocket@rocrocket programming]$ paste p1.txt p2.txt
1    a
2    b
3    c
[rocrocket@rocrocket programming]$ paste p1.txt p2.txt|sed -n l
1\ta$
2\tb$
3\tc$

看到制表符了吧,它就是默认的间隔符。

2 上面的例子是两个文件的,那三个文件呢?

当然也可以了。看看例子吧:

[rocrocket@rocrocket programming]$ cat p3.txt
I
II
III
[rocrocket@rocrocket programming]$ paste p1.txt p2.txt p3.txt
1    a    I
2    b    II
3    c    III
[rocrocket@rocrocket programming]$ paste p3.txt p2.txt p1.txt
I    a    1
II   b    2
III  c   

可见paste的结果是和文件列表的顺序有关的。

3 我不想用制表符来间隔,我想用星号(*),可以么?

行的!使用-d符号就可以设定间隔符,这和cut没有两样。看看例子:

[rocrocket@rocrocket programming]$ paste -d '*' p3.txt p2.txt p1.txt
I*a*1
II*b*2
III*c*

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

4 我看过paste命令的man,里面提到了一个-s选项,我不懂是什么意思?

这个很好解释,继续上面的例子,看看这个命令:

[rocrocket@rocrocket programming]$ paste -s -d "*" p3.txt p2.txt p1.txt
I*II*III
a*b*c
1*2*

呵呵,懂了吧,-s就是以每个文件为一个处理单元,将其中的所有行以-d设定的间隔符相连接组成一大行,输出到标准输出中。

一句话:paste就是来组合文件的。

《paste命令》-linux命令五分钟系列之二十的更多相关文章

  1. 《sed的流艺术之四》-linux命令五分钟系列之二十四

    本原创文章属于<Linux大棚>博客,博客地址为http://roclinux.cn.文章作者为rocrocket. 为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅. ...

  2. 《sed的流艺术之二》-linux命令五分钟系列之二十二

    本原创文章属于<Linux大棚>博客,博客地址为http://roclinux.cn.文章作者为rocrocket. 为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅. ...

  3. 《sort帮你排序》-linux命令五分钟系列之二十六

    本原创文章属于<Linux大棚>博客,博客地址为http://roclinux.cn.文章作者为rocrocket. 为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅. ...

  4. 《tr命令-优化版》-linux命令五分钟系列之二十五

    本原创文章属于<Linux大棚>博客,博客地址为http://roclinux.cn.文章作者为rocrocket. 为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅. ...

  5. 《sed的流艺术之三》-linux命令五分钟系列之二十三

    本原创文章属于<Linux大棚>博客,博客地址为http://roclinux.cn.文章作者为rocrocket. 为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅. ...

  6. 《sed的流艺术之一》-linux命令五分钟系列之二十一

    本原创文章属于<Linux大棚>博客,博客地址为http://roclinux.cn.文章作者为rocrocket. 为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅. ...

  7. 《sort命令的k选项大讨论》-linux命令五分钟系列之二十七

    本原创文章属于<Linux大棚>博客,博客地址为http://roclinux.cn.文章作者为rocrocket. 为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅. ...

  8. 《service》-“linux命令五分钟系列”之二

    本原创文章属于<Linux大棚>博客. 博客地址为http://roclinux.cn. 文章作者为roc 希望您能通过捐款的方式支持Linux大棚博客的运行和发展.请见“关于捐款” == ...

  9. 《vi中的替换艺术》-linux命令五分钟系列之十一

    vi方面的内容不知道分类到哪里好,就放到<Linux命令五分钟系列>里吧! 今天编程,关于栈的一个小例子,其间我需要把”S.”替换为”S->”(替换不包括双引号). 其实这个不难,不 ...

随机推荐

  1. node begining

    node begining */--> pre { background-color: #2f4f4f;line-height: 1.6; FONT: 10.5pt Consola," ...

  2. 玩玩Hibernate(二)hibernate-spider爬虫~~

    新建一个hSpider的工程,引入前面已经建立的lib 并为其建立一个hibernate.cfg.xml的映射文件 <?xml version='1.0' encoding='utf-8'?&g ...

  3. 为什么用 Java:一个 Python 程序员告诉你

    这篇文章专门给程序员写的,普通读者慎入.原作者:Kevin Sookocheff 译者:Celia Zhen,原文点击文末链接. 每当我告诉别人我一直在用Java工作时,大家的反应都是: “纳尼!Ja ...

  4. Area - POJ 1654(求多边形面积)

    题目大意:从原点开始,1-4分别代表,向右下走,向右走,向右上走,向下走,5代表回到原点,6-9代表,向上走,向左下走,向左走,向左上走.求出最后的多边形面积. 分析:这个多边形面积很明显是不规则的, ...

  5. java.sql.SQLException: Before start of result set解决方法

    java.sql.SQLException: Before start of result set解决方法 今天做东西的时候发现这个错误,查了查,特地记下来,以后开始积累了 哈哈 解决发法是: 使用r ...

  6. 安装MYSQL 出现Error 1045 access denied 的解决方法

    操作系统:WINDOWS10 系统 数据库版本:mysql 5.x 提示:access denied for user 'root'@'localhost' using password yes/no ...

  7. JAVA中toString方法的作用(转)

    因为它是Object里面已经有了的方法,而所有类都是继承Object,所以“所有对象都有这个方法”. 它通常只是为了方便输出,比如System.out.println(xx),括号里面的“xx”如果不 ...

  8. linux下so动态库一些不为人知的秘密 系列

    http://blog.chinaunix.net/uid-27105712-id-3313293.html http://www.cnblogs.com/gulvzhe/archive/2012/0 ...

  9. [转] Tomcat 配置 SSL

    PS: keystore有自己的访问密码,这个保护层次要低一些,然后keystore里面存有自己的私钥,所以用户要破解的话,既要有keystore,又要有keystore的密码,p12是客户端keys ...

  10. HDU2028JAVA

    Lowest Common Multiple Plus Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (J ...