博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux基础命令:paste
阅读量:4349 次
发布时间:2019-06-07

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

介绍

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 file1abcd[root@linux-node1 ~]# cat file21001  hisk011001  hisk021001  hisk031002  hisk04[root@linux-node1 ~]# paste -d -s file1file2a-1001  hisk01b-1001  hisk02c-1001  hisk03d-1002  hisk04

基本命令

[root@linux-node1 ~]# paste file1 file2a   1001  hisk01b   1001  hisk02c   1001  hisk03d   1002  hisk04

指定列

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

[root@linux-node1 ~]# paste file2 file11001  hisk01    a1001  hisk02    b1001  hisk03    c1002  hisk04    d

使用不同的域分隔符

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

[root@linux-node1 ~]# paste -d: file1 file2a:1001  hisk01b:1001  hisk02c:1001  hisk03d:1002  hisk04[root@linux-node1 ~]# paste -d+ file1 file2a+1001  hisk01b+1001  hisk02c+1001  hisk03d+1002  hisk04

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

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

paste命令管道输入

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

方法如下:

[root@linux-node1 5050]# lltotal 100drwxr-xr-x 2 root root  4096Mar 30 17:22 bindrwxr-xr-x 3 root root  4096Mar 30 16:43 confdrwxr-xr-x 2 root root  4096Mar 30 16:40 lib-rw-r--r-- 1 root root 57011 Nov 9 16:53 LICENSEdrwxr-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.txtdrwxr-xr-x 2 root root    29Mar 30 16:40 tempdrwxr-xr-x 3 root root    32Mar 30 17:33 webappsdrwxr-xr-x 3 root root    21Mar 30 16:43 work[root@linux-node1 5050]# ls | paste -d"" - - - -bin conf lib LICENSElogs NOTICE RELEASE-NOTES RUNNING.txttemp webapps work[root@linux-node1 5050]# ls | paste -d"" - - - - -bin conf lib LICENSE logsNOTICE RELEASE-NOTES RUNNING.txt temp webappswork

转载于:https://www.cnblogs.com/wzy23/p/11388743.html

你可能感兴趣的文章
cocos2dx CCControlButton button大事
查看>>
学习笔记 Android.mk 搜索自己主动
查看>>
linux脚本后台监控执行指定程序的状态(假设程序是死的重新启动程序)
查看>>
从简单的信道预计说起
查看>>
Sublime 脚本 配置 (lua 和 JavaScript篇)
查看>>
Java——XMLl解析
查看>>
关于PHP程序员技术职业生涯规划
查看>>
Redis实战总结-Redis的高可用性
查看>>
修改bin目录下的文件导致session丢失的问题
查看>>
pymysql
查看>>
IOS 保存图片至相册
查看>>
【转】Key/Value之王Memcached初探:一、掀起Memcached的盖头来
查看>>
SIGSEGV
查看>>
深入Linux内核架构-进程管理和调度-脑图
查看>>
Hive函数大全
查看>>
js如何实现点击显示和隐藏表格
查看>>
杨辉三角
查看>>
Makefile研究 (一)—— 必备语法
查看>>
Sublime 取消每次自动更新弹窗设置
查看>>
Confuser.crproj
查看>>