加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

Linux基础命令:paste

发布时间:2020-12-14 00:11:36 所属栏目:Linux 来源:网络整理
导读:介绍 cut用来从文本文件或标准输出中抽取数据列或者域,然后再用paste可以将这些数据粘贴起来形成相关文件。粘贴两个不同来源的数据时,首先需将其分类,并确保两个文件行数相同。 paste将按行将不同文件行信息放在一行。缺省情况下,paste连接时,用空格或t

介绍

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

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

paste格式为:

paste -d -s -file1 file2

选项含义如下:

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

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

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

[[email?protected] ~]# cat file1
a
b
c
d
[[email?protected] ~]# cat file2
1001  hisk01
1001  hisk02
1001  hisk03
1002  hisk04
[[email?protected] ~]# paste -d -s file1file2
a-1001  hisk01
b-1001  hisk02
c-1001  hisk03
d-1002  hisk04

基本命令

[[email?protected] ~]# paste file1 file2
a   1001  hisk01
b   1001  hisk02
c   1001  hisk03
d   1002  hisk04

指定列

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

[[email?protected] ~]# paste file2 file1
1001  hisk01    a
1001  hisk02    b
1001  hisk03    c
1002  hisk04    d

使用不同的域分隔符

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

[[email?protected] ~]# paste -d: file1 file2
a:1001  hisk01
b:1001  hisk02
c:1001  hisk03
d:1002  hisk04
[[email?protected] ~]# paste -d+ file1 file2
a+1001  hisk01
b+1001  hisk02
c+1001  hisk03
d+1002  hisk04

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

[[email?protected] ~]# paste -s file1 file2
a   b   c   d
1001  hisk01    1001 hisk02    1001  hisk03    1002  hisk04

paste命令管道输入

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

方法如下:

[[email?protected] 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
[[email?protected] 5050]# ls | paste -d"" - - - -
bin conf lib LICENSE
logs NOTICE RELEASE-NOTES RUNNING.txt
temp webapps work
[[email?protected] 5050]# ls | paste -d"" - - - - -
bin conf lib LICENSE logs
NOTICE RELEASE-NOTES RUNNING.txt temp webapps
work

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读