linux下多个文件相同行合并

来源:互联网 发布:索罗斯做空中国 知乎 编辑:程序博客网 时间:2024/06/01 23:37

通常我们遇到两个文件合并直接使用cat file1 file2 > file3,但是这种是将一个文件追加到另一个文件的末尾,相当于sql中的union,将多个查询记录合并到一起。今天要介绍的是将两个相同行的文件合并到一起,结果是相同的行追加到相同行的行尾,最后的文件还是保留原来的行数。类似于sql中的join。这个命令就是linux下的paste.使用如下:

paste file1 file2 > file3

我们假设两个文件内容分别如下:

[root@dbserver data]# cat id.txt idname1001scala1002java1003linux1004shell1005python
[root@dbserver data]# cat price.txt sidpriceone39.0two49.0three50.0four99.0five100.0

在这里我们通过paste命令将它们合并。

[root@dbserver data]# paste id.txt price.txt > concat.txt[root@dbserver data]# cat concat.txt idnamesidprice1001scalaone39.01002javatwo49.01003linuxthree50.01004shellfour99.01005pythonfive100.0

结果正是我们想要的,相同行对应相同行。

有图为证:

原创粉丝点击