paste命令 – 合并两个文件

  文档编辑

paste命令会把每个文件以列对列的方式,一列列地加以合并 ,他就是相当于把两个不同的文件内容粘贴在一起,形成新的文件。

注意:paste默认粘贴方式以列的方式粘贴,但是并不是不能以行的方式粘贴,加上-s选项就可以行方式粘贴。

语法格式: paste [参数] [文件1] [文件2]

常用参数:

-d默认域的分隔符是空格或tab键,设置新的域分隔符
-s将每个文件粘贴成一行
从标准输入中读取数据

参考实例

将file_2和file_2粘贴成一个新的文件:

[root@linuxvip ~]# cat file_1
aaa
bbb
ccc
ddd
eee
[root@linuxvip ~]# cat file_2
AAA
BBB
CCC
DDD
EEE
[root@linuxvip ~]# paste file_1 file_2
aaa AAA
bbb BBB
ccc CCC
ddd DDD
eee EEE

设置域分隔符为:粘贴成新的文件:

[root@linuxvip ~]# paste -d: file_1 file_2
aaa:AAA
bbb:BBB
ccc:CCC
ddd:DDD
eee:EEE

将每个文件粘贴成一行:

[root@linuxvip ~]# cat file_1
aaa
bbb
ccc
ddd
eee
[root@linuxvip ~]# cat file_2
AAA
BBB
CCC
DDD
EEE
[root@linuxvip ~]# paste -d: -s file_1 file_2
aaa:bbb:ccc:ddd:eee
AAA:BBB:CCC:DDD:EEE

从标准输入中读取数据,每行显示5个文件名:

[root@linuxvip ~]# ls | paste -d" " - - - - - 
anaconda-ks.cfg dir_1 file1 file_1 file_1.db
file_2 file_3 file_4 file_5 file_6
file.db file_hobby_1 file_hobby.db file_hobby_sort.db file_sort.db
initial-setup-ks.cfg testfile