Shell下做簡單的文字去重 交集 並集

2021-09-01 05:26:47 字數 629 閱讀 2634

工作中經常會碰到要拉取資料情況,有了資料之後做乙個簡單的處理。

記錄一下最常用到的做去重的操作

假設有檔案list1

112

2334

只用一條命令就能做去重的操作

cat list1 | uniq -u
結果會顯示乙個 4

當然,如果要篩選出有過重複的數字,只要修改乙個引數

cat list1 | uniq -d
結果就是 1 2 3

那麼,如果想針對多個檔案處理呢, 其實也是一條語句就能解決了

cat list1 list2 list3 | sort | uniq -u
這樣就能把這些檔案中只出現一次的篩選出來。

所以,求檔案的交集、並集也就很簡單了

並集:

cat $file1 $file2 | sort | uniq
交集:

cat $file1 $file2 | sort | uniq -d
當前,求交並集的前提是這些檔案裡邊的值都是唯一的, 如果不唯一,就得用其他方法了,不贅述。

shell命令技巧 文字去重並保持原有順序

簡單來說,這個技巧相應的是例如以下一種場景 假設有文字例如以下 cccc aaaa bbbb dddd bbbb cccc aaaa如今須要對它進行去重處理。這個非常easy,sort u就能夠搞定,可是假設我希望保持文字原有的順序。比方這裡有兩個aaaa,我僅僅是希望去掉第二個aaaa,而第乙個a...

解析Shell程式設計中的 「去重「

原因 在編寫自動化指令碼的時候發現,需要使用到迴圈來遍歷某個檔案中的內容,但此檔案中存在大量的重複無用的資料,需要將其 去重 實踐中 採用sort和uniq命令來對其進行去重,並發現兩者不同 實際例子如下 此處處理的檔名為data root ip 10 0 1 169 cat data 123456...

基於simhash的短文本去重

usr bin env python coding utf 8 利用simhash進行文字去重 from simhash import simhash,simhashindex import jieba import codecs import datetime import os class du...