tongsiying

阅读|运动|自律

0%

paste

前言

将每个指定文件里的每一行整合到对应一行里写到标准输出,之间用制表符分隔。如果没有指定文件,或指定文件为”-“,程序将从标准输入读取数据。

1. 命令格式

1
paste [选项]... [文件]...

2. 命令参数

1
2
3
4
5
长选项必须使用的参数对于短选项时也是必需使用的。
-d, --delimiters=列表 改用指定列表里的字符替代制表分隔符
-s, --serial 不使用平行的行目输出模式,而是每个文件占用一行
--help 显示此帮助信息并退出
--version 显示版本信息并退出

3.范例

-d合并两个文件贻,分隔

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
[zookeeper@master rh]$ cat pas1
ID123
ID345
ID456
ID789
[zookeeper@master rh]$ cat pas2
come
back
hello
world
[zookeeper@master rh]$ paste pas1 pas2
ID123 come
ID345 back
ID456 hello
ID789 world
[zookeeper@master rh]$ paste pas2 pas1
come ID123
back ID345
hello ID456
world ID789
[zookeeper@master rh]$ paste -d: pas1 pas2    --要创建不同于空格或tab键的域分隔符,使用-d选项。
ID123:come
ID345:back
ID456:hello
ID789:world
[zookeeper@master rh]$ paste -s pas1 pas2    --要合并两行,而不是按行粘贴,可以使用-s选项。
ID123 ID345 ID456 ID789
come back hello world

#合并输出二文件

1
2
3
[tank@localhost test1]# paste test1 test     #合并输出二文件
asdfasdfas 1234
asdfasdf

#对输出的内容独立占一行

1
#echo -n "aaa" | paste -s

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

@是分隔符,几个-代表分隔几份

“- - -“三个-就有两个@分成了三份

root:0:0:root@ bin:1:1:bin@ daemon:2:2:daemon

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[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:System message 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:@@@

引用:
http://linux.51yip.com/search/paste

https://www.cnblogs.com/longjshz/p/5801605.html

赞赏一下吧~