一、交集
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 -u
b.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
同理。
网友评论