linux下用sort和uniq求两个文件的并集差集和交集

准备数据

注意:如果你得到的结果并不是想要的结果,那么有可能是你的文件中出现了空格,导致uniq认为不是重复的数据
比如有两个文件

out1.txt
1
2
3
4
5
out2.txt
1
3
5
7
9

求两个文件的交集

>>sort out1.txt out2.txt | uniq -d  # -d 输出重复的行, 需要注意一个问题,那就是这两个文件,在各自的文件中不要出现重复的数据
1
3
5

求两个文件的并集

>>sort out1.txt out2.txt | uniq   # uniq不加参数意思是去掉多余重复的数据,保留一条唯一的
1
2
3
4
5
7
9

求两个文件的差集

out1.txt-out2.txt
>>sort out1.txt out2.txt out2.txt | uniq -u
2
4
讲解sort out1.txt out2.txt out2.txt 会让out2.txt的所有内容都出现两次,所以uniq -u 之后不会出现 out2.txt 里面的内容,
而out1.txt和out2.txt重复的内容会至少出现3次以上,也不会输出到结果中.
所以最终结果一定是out1.txt在out2.txt中没有出现过的数据,也就是out1.txt-out2.txt的差集

out2.txt - out1.txt
>> sort out1.txt out1.txt out2.txt | uniq -u
7
9
原理请看上面的out1.txt-out2.txt的讲解,原理是一样的
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 32,236评论 2 89
  • 梦到自己变成一个拥有法力,能长生不老的人,是为感动服务。
    烟涩寒阅读 176评论 0 0
  • 在小程序“飞”的这一年里,已发布的小程序覆盖了20多个行业大类超过200个服务细分类目,小程序+微信支付的连接力为...
    墨鱼数据阅读 549评论 0 0

友情链接更多精彩内容