概述
很多时候我们需要把2个文件合并到一起,可以怎么实现呢?下面介绍下Linux中的join命令。
join命令
功能说明:将两个文件中,指定栏位内容相同的行连接起来。
语法:
join [-i][-a<1或2>][-e][-o] [-t][-v<1或2>][-1][-2][--help] [--version][文件1][文件2]
补充说明:找出两个文件中,指定栏位内容相同的行,并加以合并,再输出到标准输出设备。
参数:
![aec90672b95336bd528c2787bcc11cac.png](https://img-blog.csdnimg.cn/img_convert/aec90672b95336bd528c2787bcc11cac.png)
环境准备
需求:合并以下两个文件,一起合并在一起,合并到1.txt中
# 1.txtJerry 20Alice 30David 40# 2.txtJerry manAlice womanDavid 40
![e428710a2b2ac84261691939adff2e8f.png](https://img-blog.csdnimg.cn/img_convert/e428710a2b2ac84261691939adff2e8f.png)
实现
上面的文件特点是有相同的,则合并,第二列缺少内容的。使用join -a1 1.txt 2.txt就可以实现这个需求。
# join -a1 1.txt 2.txt
- -a: 除了显示匹配好的行另外将指定序号(1或2)文件里部匹配的行显示出来
- -1: 以file1中FIELD字段进行匹配
![1e38dbb7669b380e7af4d9601a6e7999.png](https://img-blog.csdnimg.cn/img_convert/1e38dbb7669b380e7af4d9601a6e7999.png)
这个命令在某些场合还是有用的,虽然用的不是很多,做个简单了解即可。后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注一下~
![4c2e22e31e4d6d3a39ec3d47b6a1778d.gif](https://img-blog.csdnimg.cn/img_convert/4c2e22e31e4d6d3a39ec3d47b6a1778d.gif)