1. 程式人生 > >用uniq來處理檔案重複資料--交集,差集,計數等(轉)

用uniq來處理檔案重複資料--交集,差集,計數等(轉)

經常有這樣的需求:兩個文字檔案要求取重複的行或只取不重複的,簡單的情況下用sort和uniq來處理是非常方便的:
利用現存兩個檔案,生成一個新的檔案

  1. 取出兩個檔案的並集(重複的行只保留一份)

  2. 取出兩個檔案的交集(只留下同時存在於兩個檔案中的檔案)

  3. 刪除交集,留下其他的行

  4. cat file1 file2 | sort | uniq
  5. cat file1 file2 | sort | uniq -d
  6. cat file1 file2 | sort | uniq -u

當然如果需要計數也有一個很好的引數uniq -c 可以將相同行數的計數放在行首

相關推薦

uniq處理檔案重複資料--交集計數()

經常有這樣的需求:兩個文字檔案要求取重複的行或只取不重複的,簡單的情況下用sort和uniq來處理是非常方便的: 利用現存兩個檔案,生成一個新的檔案 取出兩個檔案的並集(重複的行只保留一份) 取出兩個檔案的交集(只留下同時存在於兩個檔案中的檔案) 刪除交集,留下其他的行 cat file1 file2 |

Java 面向物件的方法求集合的交集

注意事項: 在自定義類中的成員屬性是兩個集合 在求集合的交集,差集,並集時,會修改成員屬性的這兩個集合的物件。即,若是求交集,使用的是list1.retainAll(list2)方法,此時,集合1中只剩下與集合2 相同的資料,當再求差集時,就會差生錯誤 消除

java 對兩個list進行“交集重複”的操作

@Test public void testTwoList(){ List<String> a = new ArrayList<String>(); List<

Java中使用Set進行並交集查詢

利用Java中使用Set進行並集,差集,交集查詢 首先命名一個類名為DealSet存放查詢並集,差集,交集的方法 DealSet.java package SetLearning; import java.util.HashSet; import java.util.Set; p

Java 求集合的交集補集

1,求交集 可以直接用ArrayList集合,retainAll()函式,將兩個list集合中相同的元素留下 boolean isContains=list.retainAll(list2); System.out.println(isContains); System.out.

mysql中交集左連線右連線

         學習mysql也有一個月啦,在這個月中,都是按照需求對資料表進行一些基本操作,在這個過程當中,經常使用到左連線,右連線,交集,取差集等,現在對其基本操作進行歸納總結。 資料來源: 表一:                                  

iOS 陣列集合操作(交集子集)

NSArray *array1 = @[@"1",@"2",@"3"]; NSArray *array2 = @[@"1",@"5",@"6"]; NSMutableSet *set1 = [NSMutableSet setWithArray:array1]; NSMutableSet *set2 = [

關於如何獲取兩個列表的交集分享一個簡單高效的方法

lt1=[1,3,5,7,9] lt2=[1,5,7,6,4] #交集 print(list(set(a).intersection(set(b)))) #並集 print(list(set(a).union(set(b)))) #相當於是吧兩列表相加然後轉集合去重在轉列表 lt3=lt

PHP陣列的幾個操作求並交集陣列與字串的相互轉換及陣列去重

在php中如果我想要對兩個陣列進行如並集、交集和差集操作,我們可直接使用php自帶的函式來操作如array_merge(),array_intersect(),array_diff(). 計算陣列的合併 array_merge與“+”的區別 array_merge() 函式

ArrayList的交集去重並

//建立兩個ArrayList並新增元素 List<Integer> list1 = new ArrayList<Integer>(); list1.add(1); list1.add(2);

shell中使用sort和uniq實現兩檔案的並交集

網上轉的,不錯,比使用awk容易點 給定兩個檔案 a.txt 和 b.txt ,每行是一個記錄(假設沒有重複),要求輸出兩集合的交集、並集、差集,輸出的結果只包括唯一項。交集定義為同時出現在兩個檔案中的記錄項,並集定義為出現在任何一個檔案中的記錄項,差集(A-B)定義為出現在A中而且不出現在B中的記

[Xcode10 實際操作]七、檔案資料-(6 )通過通知中心實現監聽和處理程式退出事件的功能

本文將演示通過通知中心,實現監聽和處理程式退出事件的功能。在專案導航區,開啟檢視控制器的程式碼檔案【ViewController.swift】 1 import UIKit 2 3 class ViewController: UIViewController { 4 5

python將.h5檔案資料化成.pcd檔案

import h5py import numpy as np import os import math from open3d import * filename = '/home/jp/project/pointnet/sem_seg/indoor3d_sem_seg_

在使用SmartRefreshLayout中onResume方法會載入重複資料以及解決

先描述一下問題,就是在使用SmartRefreshLayout本身是沒有問題的,但是我需要在進入這個介面的時候就進行載入,就用到了onResume();在這個方法裡我進行了網路請求資料,但是出現了這麼一個問題,在我點選跳轉回來的資料載入第二頁就會多出來幾條資料,下面標紅的是我的解決方法。

【MySQL】常見的業務處理-刪除重複資料

業務場景 日常工作中我們經常會遇到這樣的場景刪除資料庫中某個表中重複的資料。現在以一個案例驅動。 需求:刪除評論表中同一訂單同一商品的重複評論,只保留最早的一條。 上圖是商品評論表

C# Linq實現DataTable實現重複資料過濾

未過濾前: 過濾後(僅會過濾掉完全一樣的資料): 程式碼如下: DataTable dt = this.JsonToDataTable("[{\"Code\":\"SortId\",\"Name\

c語言:陣列處理求Fibonacci數列問題

用陣列來處理求Fibonacci數列問題。解:程式:#include<stdio.h>int main(){int i, f[20] = { 1,1 };//對最前面兩個元素f[0]和f[1

Java精確計算BigDecimal處理int、double、float之間的計算

1、先看我遇到的問題:計算3乘以4.9的值,正常來說答案應該是14.7,但是如果你用下面的程式碼執行完之後答案是: package com.acconsys.plugin.test; public class DoubleTest { public static v

c語言處理檔案

  用c語言處理檔案只需要用到幾個簡單的函式:   1.檔案的開啟和關閉   fopen()函式用來開啟一個檔案,該函式原型在標頭檔案stdio.h中,呼叫的一般形式為    1 /* FILE 是c語言內建的一個結構體型別,可以直接使用 */ 2 /* 這裡定義了一個指向檔案l型別的指標 */ 3 FIL

利用sort和uniq求兩個文件的並交集

sort uniq  利用sort和uniq求兩個文件的並集,交集和差集  並集:cat file1.txt file2.txt | sort | uniq > file.txt  交集:cat file1.txt file2.txt | sort | uniq -d >file.txt