Linux命令完全指南

Linux paste命令使用详解

paste命令 用于将多个文件按照列队列进行合并。

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

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

语法

1
paste(选项)(参数)

选项

1
2
-d<间隔字符>或--delimiters=<间隔字符>:用指定的间隔字符取代跳格字符;
-s或--serial串列进行而非平行处理。

参数

文件列表:指定需要合并的文件列表。

实例

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

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

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

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

将每个文件粘贴成一行:

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

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

[root@locahost ~]# 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