linux去重複方法

2021-09-24 11:00:46 字數 856 閱讀 1265

2019獨角獸企業重金招聘python工程師標準》

awk '!a[$0]++'

三種常見方法:

第一,用sort+uniq

,注意,單純uniq是不行的。

shell> sort -k2n file | uniq > a.out

這裡我做了個簡單的測試,當file中的重複行不再一起的時候,uniq將服務刪除所有的重複行。經過排序後,所有相同的行都在相鄰,因此unqi可以正常刪除重複行。

第二,用sort+awk命令

,注意,單純awk同樣不行,原因同上。

shell> sort -k2n file | awk ''

當然,自己把管道後面的**重新設計一下,可能不需要sort命令先排序拉。

第三,用sort+sed命令

,同樣需要sort命令先排序。

shell> sort -k2n file | sed '$!n; /^\(.*\)\n\1$/!p; d'

最後附乙個必須先用sort排序的文字的例子,當然,這個需要用sort排序的原因是很簡單,就是後面演算法設計的時候的「區域性性」,相同的行可能分散出現在不同的區域,一旦有新的相同行出現,那麼前面的已經出現的記錄就被覆蓋了,看了這個例子就好理解拉。

ffffffffffffffffff

ffffffffffffffffff

eeeeeeeeeeeeeeeeeeee

fffffffffffffffffff

eeeeeeeeeeeeeeeeeeee

eeeeeeeeeeeeeeeeeeee

gggggggggggggggggggg

其實,這是我隨便打進去的幾行字,沒想到就是必須用sort的很好例子,大家可以自己試試看。

linux檔案合併,去重複

第一 兩個檔案的交集,並集 前提條件 每個檔案中不得有重複行 1.取出兩個檔案的並集 重複的行只保留乙份 2.取出兩個檔案的交集 只留下同時存在於兩個檔案中的檔案 3.刪除交集,留下其他的行 1.cat file1 file2 sort uniq file3 2.cat file1 file2 so...

陣列去重複

最近在寫demo的時候新學了一招 陣列去重複的方法 思路 利用json特性。1 建立乙個空json,通過對key的檢索 獲得json中 key 值 json arr i 2 對該值取反 json arr i 說明該值不存在。3 這樣我們可以對其賦值,json arr i true 這裡賦什麼值無所謂...

陣列去重複

1.開闢新的記憶體空間 判斷是否存在,若不存在則新增到陣列中,得到最終結果的順序不發生變化 nsarray originalarr 1,2,3,1,3 nsmutablearray resultarrm nsmutablearray array for nsstring item in origin...