免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 753 | 回复: 0
打印 上一主题 下一主题

[常用命令]paste [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-01-14 17:24 |只看该作者 |倒序浏览

paste 命令
用途
从一个或多个文件中连接行。
语法
paste [  
-s
] [  
-d
List ] File1 ...
描述
paste 命令从在命令行上指定的文件中读取输入。如果出现 - (减号)作为文件名,此命令从标准输入中读取。此命令连接给定的文件中的行并把结果行写到标准输出中。
缺省情况下, paste 命令把每个文件当作栏,并用制表符水平连接它们(并行合并)。可以把 paste 命令看作为 cat 命令(垂直连接,也就是一个接一个)的相对命令。
使用
-s
标志, paste 命令合并同一输入文件的后继行(串行合并)。缺省情况下,这些行用制表符连接。
注:
  • paste 命令支持最多 32767 个输入文件( OPEN_MAX 常量)。

  • pr
    -t -m 命令的操作类似于 paste 命令的操作,但创建额外空间、制表符和行以使页面布局好看些。
  • 输入文件应该是文本文件,但也可包含不限长度大小的行。
    标志
    -d List
    用指定在 List 参数(缺省是制表符)中的一个或多个字符来更改分隔输出中相应行的定界符。如果在 List 参数中有多个字符,那么依次重复使用这些字符,直到输出结束。在并行合并中,最后文件的行总是以换行符结束,而不是 List 参数中指定的某个字符。
    下列特殊字符也可用在 List 参数中:
    \n
    换行符
    \t
    制表符
    \\
    反斜杠
    \0
    空字符串(不是空字符)
    c
    扩展字符
    必须用引号将对 shell 有特殊意义的字符引起来。
    -s
    水平合并第一个文件的后继行。使用此标志, paste 命令在进行下一个文件的操作之前一直处理整个文件。当一个文件的行合并结束时,它强制一个换行然后合并下一个输入文件的行。每次一个地以同样的方式继续处理余下的输入文件。用制表符分隔行,除非使用了
    -d
    标志。不管 List 参数,文件的最后一个字符强制为换行符。
    退出状态
    此命令返回下列出口值:
    0
    成功完成。
    >0
    发生错误。
    示例
  • 要将多个栏的数据粘贴到一起,请输入:
    paste names places dates > npd
    这样就创建了名称为 npd 的文件,此文件包含来自于第一栏中名称为 names 文件、第二栏中名称为 places 文件、第三栏中名称为 dates 文件的数据。 如果 names, places, 和 dates 文件看上去像:
    names           places          dates
    rachel          New York        February 5
    jerry           Austin          March 13
    mark            Chicago         June 21
    marsha          Boca Raton      July 16
    scott           Seattle         November 4
    那么 npd  文件包含:
    rachel          New York        February 5
    jerry           Austin          March 13
    mark            Chicago         June 21
    marsha          Boca Raton      July 16
    scott           Seattle         November 4
    在每一行中用制表符隔开 name,place 和 date。这些栏并不总是排成一行,因为制表符停止位每八个栏就设置一下。
  • 要用非制表符隔开栏,请输入:
    paste  
    -d
    "!@" names places dates > npd
    这样就交替用 ! 和 @ 作为栏分隔符。如果 names, places 和 dates 文件和示例 1 中的一样,那么 npd 文件包含:
    rachel!New York@February 5
    jerry!Austin@March 13
    mark!Chicago@June 21
    marsha!Boca Raton@July 16
    scott!Seattle@November 4
  • 要在多个栏中显示标准输入,请输入:
    ls | paste - - - -
    这样就在 4 个栏中列出当前目录。每个 - (减号)让 paste 命令创建一个包含从标准输入中读取的数据的栏。第一行放置在第一栏中,第二行放置在第二栏中,依此类推。
    它等同于:
    ls | paste  
    -d
    "\t\t\t\n"
    -s
    -此示例用标准输入中的后继行填充跨页的栏。-d"\t\t\t\n" 定义要插入每一个栏后的字符:制表符( \t )在前面三栏后,换行符( \n )在第四个后。如果没有 -d 标志, paste -s - 命令显示所有输入为一行,每一栏间有一个制表符。
    文件
    /usr/bin/paste
    包含 paste 命令。

    本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/53000/showart_464323.html
  • 您需要登录后才可以回帖 登录 | 注册

    本版积分规则 发表回复

      

    北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
    未成年举报专区
    中国互联网协会会员  联系我们:huangweiwei@itpub.net
    感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

    清除 Cookies - ChinaUnix - Archiver - WAP - TOP