精华内容
下载资源
问答
  • 求两个文件差集

    2020-03-31 13:21:19
    有两份格式一致的文件A和B,现在要求出A中有的,B中没有的条目,也就是A-B 解决方案 充分发挥linux命令的优势,主要用到的是sort以及uniq命令 sort A B B | uniq -u sort 函数会对数据进行排序,后边可以接多个...

    需求

    • 有两份格式一致的文件A和B,现在要求出A中有的,B中没有的条目,也就是A-B

    解决方案

    • 充分发挥linux命令的优势,主要用到的是sort以及uniq命令
    sort A B B | uniq -u
    
    • sort 函数会对数据进行排序,后边可以接多个文件作为参数
    • uniq -u,注意这个-u参数,这个表明只会打印出文件中只出现一次的条目,
    • 因为sort A B B中出现了两个B文件,那么B文件中的条目肯定至少出现了两次了,所以不会被输出,为什么是至少两次呢,因为A文件中也可能有B文件中的条目,这些都会被过滤,不会输出,所以输出的肯定就是A文件中没有出现在B文件的条目,也就是想要的A-B
    展开全文
  • 比较两个文件差集

    2021-01-29 18:28:48
    比较两个文件差集,并导出文件到difference.txt中: 1.已存在要比较的两个文件,分别为a.txt和b.txt,要找出两文件差集(属于a.txt但不属于b.txt): 接口3 2.最终输出结果并导入difference.txt文件: 利用...
    
     

    比较两个文件的差集,并导出文件到difference.txt中:

    1.已存在要比较的两个文件,分别为a.txt和b.txt,要找出两文件的差集(属于a.txt但不属于b.txt): 接口3

     2.最终输出结果并导入difference.txt文件: 

     

    我是利用set包(另外也可以通过map实现),实现如下:

    // 比较两个文件API接口的差集,并导出文件到difference.txt中:
    func FilterDuplicateData() {
    	// 打开文件
    	aFile, err := os.OpenFile("./a.txt", os.O_RDWR, os.ModePerm)
    	if err != nil {
    		fmt.Println("a.txt os.OpenFile() error !")
    		return
    	}
    	bFile, err := os.OpenFile("./b.txt", os.O_RDWR, os.ModePerm)
    	if err != nil {
    		fmt.Println("b.txt os.OpenFile() error !")
    		return
    	}
    
    	// 差集比较
    	aSet := set.New(set.ThreadSafe)
    	bSet := set.New(set.ThreadSafe)
    	aReader := bufio.NewReader(aFile)
    	bReader := bufio.NewReader(bFile)
    
    	// read file:
    	for {
    		aByteData, _, err := aReader.ReadLine()
    		if err == io.EOF {
    			fmt.Println("aReader.ReadLine() error : ", err)
    			break
    		}
    		aSet.Add(string(aByteData))
    	}
    	//fmt.Println("aSet:", aSet.String())
    
    	for {
    		bByteData, _, err := bReader.ReadLine()
    		if err == io.EOF {
    			fmt.Println("bReader.ReadLine() error : ", err)
    			break
    		}
    		bSet.Add(string(bByteData))
    	}
    	//fmt.Println("bSet:", bSet.String())
    
    	differenceResult := set.Difference(aSet, bSet) //
    	fmt.Println("差集(属前者不属后者):\n", differenceResult)
    
    	// 导入结果到新文件:
    	cFile, err := os.OpenFile("./difference.txt", os.O_CREATE | os.O_RDWR, os.ModePerm)
    	if err != nil {
    		fmt.Println("a.txt os.OpenFile() error !")
    		return
    	}
    
    	writer := bufio.NewWriter(cFile)
    	for _, val := range differenceResult.List() {
    		strData, ok := val.(string)
    		if !ok {
    			fmt.Println("type assert error !")
    			return
    		}
    		//fmt.Println("---", strData)
    		_, err = writer.WriteString(strData + "\n")
    		if err != nil {
    			fmt.Println("writer.WriteString error : ", err)
    			return
    		}
    		writer.Flush() // 刷新会将所有缓冲的数据写入基础io.Writer,同时释放缓冲区,以便于下一次数据能完整的写入缓冲区
    	}
    }

     

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

    2014-09-28 17:24:00
    file1-file2 => file3file1=/data/aaafile2=/data/bbbfile3=/data/cccsort -m <(sort $file1 | uniq) <(sort $file2 | uniq) <(sort $file2 | uniq) | uniq -u &...

    file1-file2 => file3
    file1=/data/aaa
    file2=/data/bbb
    file3=/data/ccc
    sort -m <(sort $file1 | uniq) <(sort $file2 | uniq) <(sort $file2 | uniq) | uniq -u  > $file3

    展开全文
  • #fuction:求两个文件差集 #input:10w pictures and selected 6w #output:the rest 3w pictures #导入对路径操作的库 import sys import os # from IPython import embed import shutil # 大文件夹的文件路径 ...
    #author:Xuliu
    #time2021-07-31
    #fuction:求两个文件的差集
    #input:10w pictures and selected 6w
    #output:the rest 3w pictures
    
    #导入对路径操作的库
    import sys
    import os
    # from IPython import embed
    import shutil
    # 大文件夹的文件路径
    root_path = '/home/xl/workstation/Datasets/annores/new_keyframe'
    # 被筛选的小文件夹路径
    select_picture_path="/home/xl/workstation/Datasets/annores/JPEGImages"
    # 剩下的文件夹:即大文件夹减去小文件夹的数据
    save_picture_path = "/home/xl/workstation/Datasets/annores/MyJPEGImages"
    
    # 读取文件
    fns = os.listdir(root_path)
    fnbs = os.listdir(select_picture_path)
    
    #取大文件和筛选后的文件夹的前缀
    f_list=list()
    fb_list=list()
    
    for f in fns:
        portion=os.path.splitext(f)
        if portion[1] == '.jpg':
            f2=portion[0]
        f_list.append(f2)
    
    for fb in fnbs:
        portion = os.path.splitext(fb)
        if portion[1] == '.jpg':
            fb2 = portion[0]
        fb_list.append(fb2)
    
    # inter_list=list(set(f_list).intersection(set(fb_list)))
    # 求差集:求文件包含在f_list而不包含在fb_list的文件
    differ_list = list(set(f_list).difference(set(fb_list)))
    
    for differ in differ_list:
        differ_pic = os.path.join(root_path, differ + ".jpg")
        shutil.copy(differ_pic, save_picture_path)
    
    
    展开全文
  • Linux求文件差集

    2019-09-24 02:54:00
    grep -F -f listb lista -v 可以求差集A-B 转载于:https://www.cnblogs.com/ITEagle/archive/2013/04/07/3003611.html
  • shell得到两个文件差集

    千次阅读 2019-07-26 16:56:11
    有两个文件a和b,a是最新文件,b是昨天的文件,需要计算出在a中出现又没出现在b中的数据。 a和b都是这样的文件格式,只有一列id,且无序的 290758 290710 290688 290411 290409 290224 290223 290221 290194 ...
  • [转]求文件差集

    2016-11-05 11:01:32
    有两个文件a和b,a是最新文件,b是昨天的文件,需要计算出在a中出现又没出现在b中的数据。 a和b都是这样的文件格式,只有一列id,且无序的   Txt代码  290758  290710  290688  290411  ...
  • awk 进阶(两文件的交集和差集) https://www.jianshu.com/p/cf428138caab
  • Linux处理求两个文件交集、差集

    千次阅读 2018-06-28 08:32:15
    两个文件交集、差集两个文件,如: [root@localhost grep]# cat 1.txt a b c a d aa bb aa [root@localhost grep]# cat 2/txt a b c bb fsx分析,文件1.txt和文件2.txt:1.txt - 2.txt(a) d aa (aa)2.txt - 1.txtfsx...
  •  //读partFile 把文件的每一行作为map的key  while (readLine != null) {  map.put(Integer.parseInt(readLine), ++i);  readLine = reader.readLine();  }  //读取fullFile 把读取的每一行拿过去和...
  • diff 比较文件差集

    千次阅读 2013-11-10 12:39:28
    日志仅出现在exist.txt中而在comp.txt中不存在 其实就是diff命令,然后在结果中把, 等找一下 diff -w exist.txt comp.txt | grep \^\
  • 本文介绍linux下shell计算两个文件的交集,并集和差集的方法,提供完整测试命令与演示。
  • 求集合A与集合B的差集方法1:sort B B A | uniq -u方法2:grep -vFf file_b file_a
  • [Linux] 取两个文件的并集/交集/差集

    千次阅读 2019-03-07 11:26:00
    uniq -d是只打印重复行 -u是只打印独一无二的行文件A : abcd文件B: cdef取并集:A + B sort A B|uniq 取交集: sort A B|uniq -d 取差集:A - B sort A B B|uniq -u 取差集:B - A sort A B A|uniq -u ...
  • sort 差集 sort -m <(sort big.csv | uniq) <(sort small.csv | uniq) <(sort small.csv | uniq) | uniq -u > final.csv grep 交集 grep -F -f big.csv small.csv > union_set.csv grep 差集 ...
  • python 比价两个文件交集、并集、差集   #!/usr/bin/env python2.7 #coding=utf-8 ''' s05=set(['x','b','a']) s06=set(['c','x','e']) ''' s05=set(open('/Users/.../1205.txt','r').readlines()) s06=set...
  • 有两个文件/mnt/file 和 /mnt/files [root@vm1_185 mnt]# cat file hello world ! hello everybody ! hello basketball ! hello kobebryant ! [root@vm1_185 mnt]# cat files hello world ! hell...
  • LANG=C;sort file1 file2 | uniq 两个未排序文件的并集 LANG=C;sort file1 file2 | uniq -d 两个未排序文件的交集 LANG=C;sort file1 file1 file2 | uniq -u 两
  • Unix命令求文件差集

    2012-02-15 23:27:20
    比较2个文件的不同,在数据库里很容易操作 在Unix中 sort file1>file1.1 sort file2>file2.2 comm -13 file1.1 file2.2>oo comm -23 file1.1 file2.2>xx sort file1>file1.1 sort file2>...
  • 1.两个txt文件都是一列数据,现在求这两个txt文件的交集、并集和差集。 s1 = set(open('/data/test/id.list', 'r').readlines()) s2 = set(open('/data/test/s.list', 'r').readlines()) ff = open('/data/test/...
  • linux求两个文件的交集,并集,差集

    千次阅读 2017-07-25 15:05:37
    对单个文件去重,对两个文件取交集,取并集,取差集都用cat命令   对file去重 cat data1.txt | sort | uniq  uniq只能对相邻的重复行去重,所以要先排序   删除两个文件的交集,将file1和...
  • 文件交集差集

    2019-01-18 16:36:57
    假设有A, B两个文件 A B 交集 cat A B | sort | uniq -d B - A cat A A B | sort | uniq -u
  • 给定两个文件 a.txt 和 b.txt ,每行是一个记录(假设没有重复),要求输出两集合的交集、并集、差集,输出的结果只包括唯一项。交集定义为同时出现在两个文件中的记录项,并集定义为出现在任何一个文件中的记录项,...
  • linux文件交集差集

    2016-08-19 19:50:44
    文件的交集,差集
  • Linux 两个文件求交集、并集、差集

    千次阅读 2019-03-08 13:49:25
    这里写自定义目录标题Linux 两个文件求交集、并集、差集一、交集二、并集三、差集四、相关的解释 Linux 两个文件求交集、并集、差集 原文地址: Linux 两个文件求交集、并集、差集 ...
  • 假设两个文件FILE1和FILE2用集合A和B表示,FILE1内容如下:abceda FILE2内容如下:cdac基本上有两个方法,一个是comm命令,一个是grep命令。分别介绍如下: comm命令, Compare sorted files FILE1 and FILE2 line ...
  • 交集定义为同时出现在两个文件中的记录项,并集定义为出现在任何一个文件中的记录项,差集(A-B)定义为出现在A中而且不出现在B中的记录,对称差集定义为只出现在一个文件中的记录。 假设 a.txt 包括 a,

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 25,810
精华内容 10,324
关键字:

文件差集