美文网首页
bash技巧:求集合的交集、并集、差集、对称差集

bash技巧:求集合的交集、并集、差集、对称差集

作者: 予早 | 来源:发表于2017-11-26 11:31 被阅读0次

网上转的,不错,比使用awk容易点

给定两个文件 a.txt 和 b.txt ,每行是一个记录(假设没有重复),要求输出两集合的交集、并集、差集,输出的结果只包括唯一项。交集定义为同时出现在两个文件中的记录项,并集定义为出现在任何一个文件中的记录项,差集(A-B)定义为出现在A中而且不出现在B中的记录,对称差集定义为只出现在一个文件中的记录。

假设 a.txt 包括 a, c, b 三行。假设 b.txt 包括 d, e, c, b 四行。

交集,把两个文件放到一起排序,只输出次数多于一次的项:
$ sort a.txt b.txt | uniq -d
b
c

并集,把两个文件放到一起排序,重复的项只算一次:
$ sort a.txt b.txt | uniq
a
b
c
d
e

差集(A-B),把B的元素重复2份和A的元素放到一起排序,只输出出现一次的项:
$ sort a.txt b.txt b.txt | uniq -u
a

对称差,把两个文件放到一起排序,只输出出现一次的项:
$ sort a.txt b.txt | uniq -u
a
d
e

相关文章

  • bash技巧:求集合的交集、并集、差集、对称差集

    网上转的,不错,比使用awk容易点 给定两个文件 a.txt 和 b.txt ,每行是一个记录(假设没有重复),要...

  • python中集合set的操作

    交集 并集 差集 对称差集

  • set

    交集:&并集:|差集:-对称差集:^等于:==不等于:!=set():创建一个空集合add():添加一个元素cle...

  • 抽象代数简介

    集合 交集·并集·差集 在中学阶段就学习过集合,部分内容不再赘述。以下是交集、并集、差集的概念: 幂集 设是一个集...

  • 利用set集合快速高效求交集、并集、差集

    1、求两个集合的交集: 结果: 1、求两个集合的并集: 结果: 3、求两个集合的差集: 结果:

  • Guava 学习

    guava Splitter 学习 guava Sets 集合类取交集、差集、并集

  • 2019-03-01

    1. 求两个list的差集、并集、交集: 思路:将列表转化为集合 intersection = list...

  • python必知必会3

    如何求两个列表的交集、差集、并集? 求交集: list(set(a) & set(b))求差集: list(set...

  • python 交集、并集、差集

    交集 并集 差集

  • R dplyr操作

    求交集、并集和差集 求两个数据框的交集 求两个数据框的并集(自动去除重复) 求两个数据框的并集,不去除重复

网友评论

      本文标题:bash技巧:求集合的交集、并集、差集、对称差集

      本文链接:https://www.haomeiwen.com/subject/zedkbxtx.html