博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
求两个Linux文本文件的交集、差集、并集
阅读量:6203 次
发布时间:2019-06-21

本文共 1627 字,大约阅读时间需要 5 分钟。

一、交集

sort a.txt b.txt | uniq -d

二、并集

sort a.txt b.txt | uniq

三、差集

a.txt-b.txt:sort a.txt b.txt b.txt | uniq -ub.txt-a.txt:sort b.txt a.txt a.txt | uniq -u

 

四、相关的解释

使用sort可以将文件进行排序(sort排序是为了管道交给uniq进行处理,uniq只能处理相邻的行),可以使用sort后面的参数,例如 -n 按照数字格式排序,例如 -i 忽略大小写,例如使用-r 为逆序输出等

uniq为删除文件中重复的行,得到文件中唯一的行,参数-d 表示的是输出出现次数大于1的内容;参数-u表示的是输出出现次数为1的内容;那么对于上述的求交集并集差集的命令做如下的解释:

sort a.txt b.txt | uniq -d:将两个文件进行排序,uniq使得两个文件中的内容为唯一的,使用-d输出两个文件中次数大于1的内容,即是得到交集

sort a.txt b.txt | uniq :将两个文件进行排序,uniq使得两个文件中的内容为唯一的,即可得到两个文件的并集

sort a.txt b.txt b.txt | uniq -u:将两个文件排序,最后输出a.txt b.txt b.txt文件中只出现过一次的内容,因为有两个b.txt所以只会输出只在a.txt出现过一次的内容(b.txt的内容至少出现两次),即是a.txt-b.txt差集;对于b.txt-a.txt同理。

样例

# a.hosts

[root(0)@thatsit 11:40:46 ~/scripts]# cat a.hosts10.10.1.10110.10.1.10210.10.1.10310.10.1.104[root(0)@thatsit 11:40:47 ~/scripts]#

# b.hosts

[root(0)@thatsit 11:40:48 ~/scripts]# cat b.hosts10.10.1.10110.10.1.10310.10.1.105[root(0)@thatsit 11:40:49 ~/scripts]#

 

# a.hosts ∩ b.hosts

[root(0)@thatsit 11:40:49 ~/scripts]# sort a.hosts b.hosts | uniq -d10.10.1.10110.10.1.103[root(0)@thatsit 11:41:08 ~/scripts]# 

 

# a.hosts ∪ b.hosts

[root(0)@thatsit 11:41:10 ~/scripts]# sort a.hosts b.hosts | uniq10.10.1.10110.10.1.10210.10.1.10310.10.1.10410.10.1.105[root(0)@thatsit 11:41:19 ~/scripts]#

# a.hosts - b.hosts

[root(0)@thatsit 11:41:25 ~/scripts]# sort a.hosts b.hosts b.hosts | uniq -u10.10.1.10210.10.1.104[root(0)@thatsit 11:41:45 ~/scripts]#

# b.hosts - a.hosts 

[root(0)@thatsit 11:41:47 ~/scripts]# sort a.hosts a.hosts b.hosts | uniq -u10.10.1.105[root(0)@thatsit 11:41:55 ~/scripts]#

 

参考链接:

 

转载于:https://www.cnblogs.com/softidea/p/10253896.html

你可能感兴趣的文章
Animation脚本
查看>>
结构设计
查看>>
WPF控件--利用Winform库中的NotifyIcon实现托盘小程序
查看>>
vmware几种网络环境的搭建
查看>>
time模块
查看>>
第四周进度条
查看>>
python试题写一个函数接收参数,返回该文件夹中的文件路径以及包含文件夹中文件的路径...
查看>>
LeetCode - 537. Complex Number Multiplication
查看>>
java路径
查看>>
PHP___认证___访问权限设置
查看>>
漂亮的优惠劵css3样式大集合
查看>>
GridView 使用方法总结 (一)
查看>>
【原创】ucos信号量的操作及原理
查看>>
经典.net面试题目
查看>>
win7下IIS的安装和配置图文教程
查看>>
【linux端口号与PID的互相查询】
查看>>
java web 程序---刷新页面次数
查看>>
java代码List
查看>>
GCViewer / MAT
查看>>
win8.1弹框
查看>>