zoukankan      html  css  js  c++  java
  • Linux命令之paste

    介绍

    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
    1001  hisk01
    1001  hisk02
    1001  hisk03
    1002  hisk04
    [root@linux-node1 ~]# paste -d -s file1file2
    a-1001  hisk01
    b-1001  hisk02
    c-1001  hisk03
    d-1002  hisk04

    基本命令

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

    指定列

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

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

    使用不同的域分隔符

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

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

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

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

    paste命令管道输入

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

    方法如下:

    [root@linux-node1 5050]# ll
    total 100
    drwxr-xr-x 2 root root  4096Mar 30 17:22 bin
    drwxr-xr-x 3 root root  4096Mar 30 16:43 conf
    drwxr-xr-x 2 root root  4096Mar 30 16:40 lib
    -rw-r--r-- 1 root root 57011 Nov 9 16:53 LICENSE
    drwxr-xr-x 2 root root  4096Mar 30 16:48 logs
    -rw-r--r-- 1 root root  1444Nov  9 16:53 NOTICE
    -rw-r--r-- 1 root root  6741Nov  9 16:53 RELEASE-NOTES
    -rw-r--r-- 1 root root 16195 Nov 9 16:53 RUNNING.txt
    drwxr-xr-x 2 root root    29Mar 30 16:40 temp
    drwxr-xr-x 3 root root    32Mar 30 17:33 webapps
    drwxr-xr-x 3 root root    21Mar 30 16:43 work
    [root@linux-node1 5050]# ls | paste -d"" - - - -
    bin conf lib LICENSE
    logs NOTICE RELEASE-NOTES RUNNING.txt
    temp webapps work
    [root@linux-node1 5050]# ls | paste -d"" - - - - -
    bin conf lib LICENSE logs
    NOTICE RELEASE-NOTES RUNNING.txt temp webapps
    work   
  • 相关阅读:
    TcIC(Teamcenter集成CatiaV5)的安装
    centos7上使用bind解析子域名
    Windows10 家庭版(1903/1909)中用RDPWrapper-v1.6.2和autoupdate补丁开启远程桌面功能
    修改SQL Server Express 2019 sa用户密码的方法
    微星B450主板安装64G内存的一个小招数
    缩小xfs文件系统的CentOS/RedHat虚拟机硬盘的迂回方法
    MQL命令的打开方式
    台电TBook二合一本全新安装Windows10
    django_auth_ldap
    开始认真学计算机网络----computer network学习笔记(一)
  • 原文地址:https://www.cnblogs.com/syavingcs/p/7286353.html
Copyright © 2011-2022 走看看