Linux paste命令的使用方法
时间:2020-02-21来源:电脑系统城作者:电脑系统城
01. 命令概述
paste命令会把每个文件以列对列的方式,一列列地加以合并 ,他就是相当于把两个不同的文件内容粘贴在一起,形成新的文件。
注意:paste默认粘贴方式以列的方式粘贴,但是并不是不能以行的方式粘贴,加上-s选项就可以行方式粘贴。
02. 命令格式
用法:paste [选项]... [文件]...
03. 常用选项
将每个指定文件里的每一行整合到对应一行里写到标准输出,之间用制表符分隔。
如果没有指定文件,或指定文件为"-",程序将从标准输入读取数据。
长选项必须使用的参数对于短选项时也是必需使用的。
-d, --delimiters=列表 改用指定列表里的字符替代制表分隔符
-s, --serial 不使用平行的行目输出模式,而是每个文件占用一行
--help 显示此帮助信息并退出
--version 显示版本信息并退出
04. 参考示例
文件内容如下
- [deng@localhost test]$ cat file1
- 1
- 2
- 3
- 4
- 5
- 6
- [deng@localhost test]$ cat file2
- AA
- BB
- CC
- DD
- EE
- FF
- [deng@localhost test]$
4.1 合并两个文件
- [deng@localhost test]$ paste file1 file2
- 1 AA
- 2 BB
- 3 CC
- 4 DD
- 5 EE
- 6 FF
- [deng@localhost test]$
可以看出 默认使用制表符分隔
- [deng@localhost test]$ paste file1 file2 | sed -n l
- 1\tAA$
- 2\tBB$
- 3\tCC$
- 4\tDD$
- 5\tEE$
- 6\tFF$
- [deng@localhost test]$
4.2 指定字符代表制表符作为分隔符
- [deng@localhost test]$ paste -d '*' file1 file2
- 1*AA
- 2*BB
- 3*CC
- 4*DD
- 5*EE
- 6*FF
- [deng@localhost test]$
4.3 每个文件合并成行而不是按行粘贴。(行列转置会用到)
- [deng@localhost test]$ paste -s -d '*' file1 file2
- 1*2*3*4*5*6
- AA*BB*CC*DD*EE*FF
- [deng@localhost test]$
要注意一点,此处一定要把星号用引号括起来(单引号双引号均可),否则 Shell]会把星号扩展为当前目录下的文件列表,千万小心。
4.4 行列倒转
- [deng@localhost test]$ paste -s file1
- 1 2 3 4 5 6
- [deng@localhost test]$
4.5 两个文件行数不同
- [deng@localhost test]$ paste file1 file2
- 1 AA
- 2 BB
- 3 CC
- 4 DD
- 5 EE
- 6 FF
- 7
- [deng@localhost test]$
注意, 参数的顺序对输出是有影响的
- [deng@localhost test]$ paste file2 file1
- AA 1
- BB 2
- CC 3
- DD 4
- EE 5
- FF 6
- 7
- [deng@localhost test]$
4.6 拼接多个文件
- [deng@localhost test]$ paste file1 file2 file3
- 1 AA aa
- 2 BB bb
- 3 CC cc
- 4 DD dd
- 5 EE ee
- 6 FF ff
- 7
- [deng@localhost test]$
paste 好强大,多个文件,照样能够按行拼接。而且会发现,paste 拼接是和文件列表的顺序有关的。
paste命令还有一个很有用的选项(-)。意即对每一个(-),从标准输入中读一次数据。使用空格作域分隔符,以一个6列格式显示目录列表。方法如下:
- [root@master etc]# cat /etc/passwd|head -n 5|cut -d : -f 1,3-5|paste -d@ - - -
- root:0:0:root@bin:1:1:bin@daemon:2:2:daemon
- adm:3:4:adm@lp:4:7:lp@
- [root@master etc]# cat /etc/passwd|head -n 5|cut -d : -f 1,3-5|paste -d@ - - -
- root:0:0:root@bin:1:1:bin@daemon:2:2:daemon
- adm:3:4:adm@lp:4:7:lp@
- [root@master etc]# cat /etc/passwd|head -n 5|cut -d : -f 1,3-5|paste -d@ - - - -
- root:0:0:root@bin:1:1:bin@daemon:2:2:daemon@adm:3:4:adm
- lp:4:7:lp@@@
- [root@master etc]# cat /etc/passwd|head -n 5|cut -d : -f 1,3-5|paste -d@ - - - - -
- root:0:0:root@bin:1:1:bin@daemon:2:2:daemon@adm:3:4:adm@lp:4:7:lp
- [root@master etc]# cat /etc/passwd|head -n 5|cut -d : -f 1,3-5|paste -d@ - - - - - -
- root:0:0:root@bin:1:1:bin@daemon:2:2:daemon@adm:3:4:adm@lp:4:7:lp@
- [root@master etc]# cat /etc/passwd|cut -d : -f 1,3-5|paste -d@ - - - - - -
- root:0:0:root@bin:1:1:bin@daemon:2:2:daemon@adm:3:4:adm@lp:4:7:lp@sync:5:0:sync
- shutdown:6:0:shutdown@halt:7:0:halt@mail:8:12:mail@uucp:10:14:uucp@operator:11:0:operator@games:12:100:games
- gopher:13:30:gopher@ftp:14:50:FTP User@nobody:99:99:Nobody@dbus:81:81:Systemmessage bus@usbmuxd:113:113:usbmuxd user@avahi-autoipd:170:170:Avahi IPv4LL Stack
- vcsa:69:69:virtual console memory owner@rtkit:499:497:RealtimeKit@abrt:173:173:@haldaemon:68:68:HAL daemon@saslauth:498:76:"Saslauthd user"@postfix:89:89:
- ntp:38:38:@apache:48:48:Apache@avahi:70:70:Avahi mDNS/DNS-SD Stack@pulse:497:496:PulseAudio System Daemon@gdm:42:42:@sshd:74:74:Privilege-separated SSH
- tcpdump:72:72:@zookeeper:500:500:zookeeper@hadoop:501:501:@@@
-
到此这篇关于Linux paste命令的使用方法的文章就介绍到这了,更多相关Linux paste命令内容请搜素我们以前的文章或下面相关文章,希望大家以后多多支持我们!
相关信息
-
linux 文件权限怎么解析
常用权限linux系统内有档案有三种身份 u:拥有者 g:群组 o:其他人这些身份对于文档常用的有下面权限:r:读权限,用户可以读取文档的内容,如用cat,more查看w:写权限,用户可以编辑文档x...
2024-07-07
-
如何使用WPSeku找出 WordPress 安全问题?
然而,如果我们遵循通常的 WordPress 最佳实践,这些安全问题可以避免。在本篇中,我们会向你展示如何使用 WPSeku,一个 Linux 中的 WordPress 漏洞扫描器,它可以被用来找出你安装...
2024-07-03