【Linux】一步一步学Linux——paste命令(58)
发布日期:2021-06-29 20:59:52 浏览次数:2 分类:技术文章

本文共 1731 字,大约阅读时间需要 5 分钟。

00. 目录

文章目录

01. 命令概述

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

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

02. 命令格式

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

03. 常用选项

将每个指定文件里的每一行整合到对应一行里写到标准输出,之间用制表符分隔。如果没有指定文件,或指定文件为"-",程序将从标准输入读取数据。长选项必须使用的参数对于短选项时也是必需使用的。  -d, --delimiters=列表	改用指定列表里的字符替代制表分隔符  -s, --serial		不使用平行的行目输出模式,而是每个文件占用一行      --help		显示此帮助信息并退出      --version		显示版本信息并退出

04. 参考示例

文件内容如下

[deng@localhost test]$ cat file1123456[deng@localhost test]$ cat  file2AABBCCDDEEFF[deng@localhost test]$

4.1 合并两个文件

[deng@localhost test]$ paste file1 file21       AA2       BB3       CC4       DD5       EE6       FF[deng@localhost test]$

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

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

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

[deng@localhost test]$ paste -d '*' file1 file21*AA2*BB3*CC4*DD5*EE6*FF[deng@localhost test]$

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

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

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

4.4 行列倒转

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

4.5 两个文件行数不同

[deng@localhost test]$ paste file1 file21       AA2       BB3       CC4       DD5       EE6       FF7[deng@localhost test]$

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

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

4.6 拼接多个文件

[deng@localhost test]$ paste  file1 file2 file31       AA      aa2       BB      bb3       CC      cc4       DD      dd5       EE      ee6       FF      ff7[deng@localhost test]$

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

05. 附录

参考:

转载地址:https://dengjin.blog.csdn.net/article/details/97113108 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:【Linux】一步一步学Linux——split命令(59)
下一篇:【Linux】一步一步学Linux——rev命令(57)

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年04月15日 00时04分53秒