介绍

cut用来从文本文件或标准输出中抽取数据列或者域,然后再用paste可以将这些数据粘贴起来形成相关文件。粘贴两个不同来源的数据时,首先需将其分类,并确保两个文件行数相同。

paste将按行将不同文件行信息放在一行。缺省情况下,paste连接时,用空格或tab键分隔新行中不同文本,除非指定- d选项,它将成为域分隔符。

paste格式为:

paste -d -s -file1 file2

选项含义如下:

-d 指定不同于空格或t a b键的域分隔符。例如用@分隔域,使用- d @。

-s 将每个文件合并成行而不是按行粘贴。

- 使用标准输入。例如ls -l |paste ,意即只在一列上显示输出。

[root@linux-node1 ~]# cat file1
a
b
c
d
[root@linux-node1 ~]# cat file2
  hisk01
  hisk02
  hisk03
  hisk04
[root@linux-node1 ~]# paste -d -s file1file2
a-  hisk01
b-  hisk02
c-  hisk03
d-  hisk04

基本命令

[root@linux-node1 ~]# paste file1 file2
a     hisk01
b     hisk02
c     hisk03
d     hisk04

指定列

通过交换文件名即可指定哪一列先粘:

[root@linux-node1 ~]# paste file2 file1
  hisk01    a
  hisk02    b
  hisk03    c
  hisk04    d

使用不同的域分隔符

要创建不同于空格或tab键的域分隔符,使用- d选项。下面的例子用冒号做域分隔符。

[root@linux-node1 ~]# paste -d: file1 file2
a:  hisk01
b:  hisk02
c:  hisk03
d:  hisk04
[root@linux-node1 ~]# paste -d+ file1 file2
a+  hisk01
b+  hisk02
c+  hisk03
d+  hisk04

要合并两行,而不是按行粘贴,可以使用- s选项。下面的例子中,第一行粘贴为名字,第二行是I D号。

[root@linux-node1 ~]# paste -s file1 file2
a   b   c   d
  hisk01     hisk02      hisk03      hisk04

paste命令管道输入

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

方法如下:

[root@linux-node1 ]# ll
total
drwxr-xr-x  root root  4096Mar  : bin
drwxr-xr-x  root root  4096Mar  : conf
drwxr-xr-x  root root  4096Mar  : lib
-rw-r--r--  root root  Nov  : LICENSE
drwxr-xr-x  root root  4096Mar  : logs
-rw-r--r--  root root  1444Nov   : NOTICE
-rw-r--r--  root root  6741Nov   : RELEASE-NOTES
-rw-r--r--  root root  Nov  : RUNNING.txt
drwxr-xr-x  root root    29Mar  : temp
drwxr-xr-x  root root    32Mar  : webapps
drwxr-xr-x  root root    21Mar  : work
[root@linux-node1 ]# ls | paste -d"" - - - -
bin conf lib LICENSE
logs NOTICE RELEASE-NOTES RUNNING.txt
temp webapps work
[root@linux-node1 ]# ls | paste -d"" - - - - -
bin conf lib LICENSE logs
NOTICE RELEASE-NOTES RUNNING.txt temp webapps
work   

Linux命令之paste的更多相关文章

  1. 《paste命令》-linux命令五分钟系列之二十

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

  2. Linux命令整理中...

    Linux命令整理中... 最常用命令(我最近最常用的一般放在前面tipsbychsry) clear 清屏 date 显示日期 cal 显示日历 cal 2014 显示2014年的日历 shutdo ...

  3. 最有用的Linux命令行使用技巧集锦

    最近在Quora上看到一个问答题目,关于在高效率Linux用户节省时间Tips.将该题目的回答进行学习总结,加上自己的一些经验,记录如下,方便自己和大家参考. 下面介绍的都是一些命令行工具,这些工具在 ...

  4. Linux 命令速查

    学生信,Linux是最最基本的技能,要尽量将自己的工作平台转移到Linux,编程写脚本,这样会极大的提升工作效率,找工作时也不会太怂.Linux所有的任务都是通过命令来完成的,具有高度的统一性.Lin ...

  5. 运维必须掌握的150个Linux命令

    线上查询及帮助命令(1个)man 目录操作命令(6个)ls tree pwd mkdir rmdir cd 文件操作命令(7个)touch cp mv rm ln find rename 文件查看及处 ...

  6. linux 命令中英文对照,收集

    linux 命令中英文对照,收集   linux 命令英文全文 Is Linux CLI case-sensitive? The answer is, yes. If you try to run L ...

  7. Linux命令行文本工具

    浏览文件 cat 查看文件内容 more 以翻页形式查看文件内容(只能向下翻页) less 以翻页形式查看文件内容(可以上下翻页) head 查看文件的头几行(默认10行) tail 查看文件的尾几行 ...

  8. 这些Linux命令,让你的工作事半功倍!

    这些Linux命令,让你的工作事半功倍! 最近都在和Linux打交道,感觉还不错.我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较 ...

  9. Linux 命令(二)

    man help:线上查询及帮助命令 命令  --help:简单帮助 help  cd:查看一些Linux命令行的一些内置命令 文件和目操作命令(19个) ls  cd  cp  find  mkdi ...

随机推荐

  1. ISP图像调试工程师——边缘增强(熟悉图像预处理和后处理技术)

    http://blog.csdn.net/u013033431/article/details/50907907 http://dsqiu.iteye.com/blog/1638589 概念: 图像增 ...

  2. 深度增强学习--Deep Q Network

    从这里开始换个游戏演示,cartpole游戏 Deep Q Network 实例代码 import sys import gym import pylab import random import n ...

  3. java 把json对象中转成map键值对

    相关:Json对象与Json字符串的转化.JSON字符串与Java对象的转换 本文的目的是把json串转成map键值对存储,而且只存储叶节点的数据 比如json数据如下: {responseHeade ...

  4. Charles 抓HTTPS包报以下错误:

    1.You may need to configure your browser or application to trust the Charles Root Certificate. See S ...

  5. cocos2d-x OpenGL ES 坐标系总结

    很多教程都说cocos2d-x OpenGL ES世界坐标系原点在左下角,但至于为什么在左下角却从来没有人提过,这导致大部分人觉得这是OpenGL ES的规定,事实上这是错的.OpenGL ES的坐标 ...

  6. python challenge答案参考

    Solutions to python challenge. http://garethrees.org/2007/05/07/python-challenge/ https://github.com ...

  7. lucene 加速索引建立速度

    加速 lucene 索引建立速度 ImproveIndexingSpeed

  8. 【MyBatis学习10】高级映射之多对多查询

    本文来总结一下mybatis中的多对多映射,从第8节的文章中可以看出,用户表和商品表示多对多关系,它们两的多对多是通过订单项和订单明细这两张表所关联起来的,那么这一节主要来总结一下用户表和商品表之间的 ...

  9. 分别在.NET Framework 与 .NET Core 框架下 编写Windows Service(windows服务程序)

    前言,为什么会分别在两个框架下编写Windows Service,是因为最近在做区块链这块,使用的是NEO(小蚁区块链)的相关技术,NEO使用的是.net core 2.1,业务上需要写两个程序,一个 ...

  10. jq时间戳转化为可视化时间

    //2016年5月21日 23:12:07 function getDateTimeToDate(dt){ var dateTime = new Date(dt); var date = dateTi ...