`
wanzhanzhuce
  • 浏览: 28282 次
社区版块
存档分类
最新评论

[转]求文件差集

阅读更多

今天有个统计的需求,计算今天比昨天新增加的数据。有两个文件a和b,a是最新文件,b是昨天的文件,需要计算出在a中出现又没出现在b中的数据。

a和b都是这样的文件格式,只有一列id,且无序的

 

Txt代码  收藏代码
  1. 290758  
  2. 290710  
  3. 290688  
  4. 290411  
  5. 290409  
  6. 290224  
  7. 290223  
  8. 290221  
  9. 290194  

 

有如下集中实现方式:

1、java,把b读到List中,遍历a中元素判断是否存在b的List中

 

Java代码  收藏代码
  1. List b = .....  
  2.   
  3. while(r.ready()){  
  4.     String s = r.readline();  
  5.     if(b.contains(s)){  
  6.         .......  
  7.      }  
  8. }  

 

 

2、python,类似java的做法,不赘述

 

3、SQL,导入到临时表里用SQL解决

 

Sql代码  收藏代码
  1. from tablea as a, tableb as b where a.id <> b.id  

 4、shell

 

Shell代码  收藏代码
  1. grep -vxFf b a  

  

把b作为规则,取a中不能匹配上b规则的记录。

下面这个最牛:

 

Shell代码  收藏代码
  1. sort a b b | uniq -u  

 解释一下:

 

a b 排序,两个的交集出现次就是2 了,a b b 再排序。b里面的次数,最少是2了,交集里面的是3

然后再uniq -u 取出现一次的,就是想要的结果了

分享到:
评论

相关推荐

    给出两个以行为单位文本文件的差集的命令行工具

    给出两个以行为单位文本文件的差集的命令行工具。 功能为输出当前目录下在文本文件prog中且不在文本文件list中的行。 可以用重定向将结果输出到文件中,比如: lackof &gt;result 注意文件无后缀名 比如文件prog中有4行...

    List求差集

    在C#编程语言中,处理集合操作是常见的任务之一,比如求两个集合的交集、并集、差集等。本篇文章将详细讲解如何利用C#的基础类库,特别是`List&lt;T&gt;`类来实现求差集的操作,无需手动编写复杂的算法。 首先,差集的...

    文件夹文件差集提取小demo

    在这个"文件夹文件差集提取小demo"项目中,我们关注的是如何利用编程语言,如C#,来实现这一功能。C#是一种面向对象的、类型安全的、现代的编程语言,由微软公司开发,广泛应用于Windows平台上的应用程序开发,包括...

    3_求差集_

    这通常涉及到读取输入数据(可能是从文件、用户输入或网络请求中),解析这些数据以构建集合,然后执行差集运算。例如,如果输入是以逗号分隔的自然数列表,可以先将这些列表转换为集合,再计算差集: ```python ...

    ACM并差集 ppt教程

    并差集(Disjoint Set)是一种在计算机科学中用于处理集合操作的数据结构,它..."并查集090518.ppt"这个文件很可能是包含了详细讲解和实例的PPT教程,建议仔细研读,以便掌握并差集的精髓,提高解决ACM竞赛问题的能力。

    Linux实现文件内容去重及求交并差集

    日常工作中,使用Hive或者Impala查询导出来可能会存在数据重复的现象,但又不想重新执行一遍查询(查询时间稍长,导出文件内容多),因此想到了使用Linux命令将文件的内容重复数据进行去除。 案例如下: 可以看到aaa...

    ThreeBSP库进行实现差集(相减)、并集(组合、相加)、交集(两几何体重合的部分)Demo

    在ThreeBSP库中,我们可以将3D模型转换为BSP树,然后利用这些树来进行几何体的布尔运算,比如相减、相加和求交。 1. **差集(相减)**:在3D建模中,差集操作允许我们从一个几何体中减去另一个几何体,结果是原始...

    两个多边形的并交差

    例如,`Triangle.c`可能是用于处理三角形操作的一个源代码文件,可能包含了计算多边形并交差的具体实现。 总的来说,多边形的并集、交集和差集计算是几何算法中的基础部分,对理解更复杂的图形操作如布尔运算、三维...

    C++实现字符串求交集、并集、差集

    根据给定的文件信息,我们将深入探讨如何使用C++实现字符串的交集、并集和差集操作。在计算机科学中,集合运算是一项基础而重要的功能,尤其在处理大量数据时,能够有效地进行数据筛选与整合。下面,我们将通过解析...

    jihe.zip_离散数学差集_离散求交集

    在编程和算法设计中,离散数学的概念扮演着至关重要的角色,特别是集合论的相关概念,如交集、并集和差集。本文将详细阐述这些概念以及如何在实际编程中实现它们。 一、集合的基本概念 集合是由一个或多个确定的、...

    取差集结果demo算法测试

    在`AchieveDetail.java`文件中,可能包含了对上述算法的详细实现或扩展,例如优化性能、错误处理、测试用例等。为了确保算法的正确性和效率,通常需要编写详尽的单元测试。可以使用JUnit或类似的测试框架来编写测试...

    php代码-简易求差集

    在PHP编程语言中,"简易求差集"通常是指从两个数组中找出只在一个数组中存在的元素,这在数据处理和算法实现中是一个常见的任务。这个任务可以通过多种方法来完成,例如使用内置函数或者自定义函数。下面我们将深入...

    C# 两个datatable中的数据快速比较返回交集 并集或差集

    6. **使用完整源码**:在提供的"DataTableTow"源码文件中,应该包含了上述步骤的具体实现,这将帮助初学者更好地理解代码逻辑。 通过这种方式,你可以有效地比较和操作C#中的DataTable对象,为数据处理提供便利。...

    合集,并集,差集程序实验报告

    求两个集合的差集,即一个集合中包含而另一个集合中不包含的元素组成的集合。 2. **合集、并集与差集的定义**: - **合集**:通常指的是将两个或多个集合中的所有元素合并在一起形成的新的集合,但不包括重复的元素...

    Python求两个文本文件以行为单位的交集、并集与差集的方法

    ### Python求两个文本文件以行为单位的交集、并集与差集的方法 在Python编程中,处理文本文件是一项常见的任务。特别是在数据处理、文本分析等领域,经常需要对两个或多个文本文件进行比较,找出它们之间的交集、...

    两个文本文件处理的小工具

    1、extconvert.exe……………………文件扩展名批量修改工具 2、TextTools……………………………功能强大、操作简单的文本处理器,它包括了文本文件分割、合并,文本替换,繁简中文转换,编码格式转换等多种功能

    用于比较CSV文件的快速差异工具-Golang开发

    csvdiff一种用于比较csv文件的快速diff工具。 什么是csvdiff? Csvdiff是一个difftool,用于计算两个csv文件之间的更改。 它不是传统的差异工具。 它最适合比较csv fi csvdiff一种用于比较csv文件的快速diff工具。 ...

Global site tag (gtag.js) - Google Analytics