通常我们遇到两个文件合并直接使用cat file1 file2 > file3,但是这种是将一个文件追加到另一个文件的末尾,相当于sql中的union,将多个查询记录合并到一起。今天要介绍的是将两个相同行的文件合并到一起,结果是相同的行追加到相同行的行尾,最后的文件还是保留原来的行数。类似于sql中的join。这个命令就是linux下的paste.使用如下:
paste file1 file2 > file3
我们假设两个文件内容分别如下:
[root@dbserver data]# cat id.txt
id name
1001 scala
1002 java
1003 linux
1004 shell
1005 python
[root@dbserver data]# cat price.txt
sid price
one 39.0
two 49.0
three 50.0
four 99.0
five 100.0
在这里我们通过paste命令将它们合并。
[root@dbserver data]# paste id.txt price.txt > concat.txt
[root@dbserver data]# cat concat.txt
id name sid price
1001 scala one 39.0
1002 java two 49.0
1003 linux three 50.0
1004 shell four 99.0
1005 python five 100.0
结果正是我们想要的,相同行对应相同行。
有图为证: