Linux 管理员 - paste 命令

paste 命令用于合并文件行。以下是常用的开关。

开关 操作
-d 指定分隔符
-s 一次粘贴一个文件,而不是并行粘贴

要清楚理解 -s 开关,最好的例子就是看 −

[root@centosLocal Documents]# cat myOS.txt && cat lines.txt
Linux
Windows
Solaris
OS X
BSD
line 1
line 2
line 3
line 4
line 5
[root@centosLocal Documents]# past myOS.txt lines.txt

[root@centosLocal Documents]# paste myOS.txt lines.txt
Linux line 1
Windows line 2
Solaris line 3
OS X line 4
BSD line 5

[root@centosLocal Documents]# paste -s myOS.txt lines.txt
Linux Windows Solaris OS X BSD
line 1 line 2 line 3 line 4 line 5
[root@centosLocal Documents]#

因此,如果我们想要通过合并两个不同的文件来获得一个":"冒号或制表符分隔的文件,则 paste 命令可以使这变得相当简单 −

[root@centosLocal Documents]# paste -d":" myOS.txt lines.txt
Linux:line 1
Windows:line 2
Solaris:line 3
OS X:line 4
BSD:line 5

[root@centosLocal Documents]# paste -d"\t" myOS.txt lines.txt
Linux line 1
Windows line 2
Solaris line 3
OS X line 4
BSD line 5
[root@centosLocal Documents]#

使用 paste 可以很容易地获取文件并将其转换为 Tab 分隔的列 −

[root@centosLocal Documents]# paste -d"	" - - < lines.txt  
line 1  line 2 
line 3  line 4 
line 5   
[root@centosLocal Documents]#

basic_centos_linux_commands.html