Shell指令碼去重的幾種方法例項

2021-08-08 15:17:14 字數 1318 閱讀 7522

這篇文章主要介紹了shell指令碼去重的幾種方法例項,本文直接給出**例項,需要的朋友可以參考下

測試檔案

複製**

**如下:

[root@bogon ~]# cat >test

jason

jason

jason

fffff

jason

按 ctr + d儲存

1、sort -u

複製**

**如下:

[root@bogon ~]# sort -u test

fffff

jason

2、uniq

複製**

**如下:

[root@bogon ~]# uniq test

jason

fffff

jason

由此可見,uniq需要先排序後才能去重

3、sort、管道和uniq結合運用

去除重複並保留乙份重複的資料

複製**

**如下:

[root@bogon ~]# sort test|uniq

fffff

jason

去除所有重複的行(不保留重複的行),並計算行數

複製**

**如下:

[root@bogon ~]# sort test|uniq -uc

1 fffff

找出所有重複的行,並計算行數

複製**

**如下:

[root@bogon ~]# sort test|uniq -dc

4 jason

根據某個欄位去重

將原有資料改為

複製**

**如下:

[root@bogon ~]# more test

jason 1

jason 2

jason 1

fffff 2

jason 3

[root@bogon ~]# sort -k 1,1 -u test

fffff 2

jason 1

man sort檢視sort的用法,-k引數是這麼描述的:

複製**

**如下:

-k, --key=pos1[,pos2]

start a key at pos1 (origin 1), end it at pos2 (default end of line)

也就是說-k哪幾個列進行排序,pos1是開始列,pos2是結束列

Shell指令碼去重的幾種方法例項

測試檔案 複製 如下 root bogon cat test jason jason jason fffff jason 按 ctr d儲存1 sort u 複製 如下 root bogon sort u test fffff jason 2 uniq 複製 如下 root bogon unipob...

去重簡單幾種方法

第一種 array unique 移除陣列中重複的值 input array a green red b green blue red result array unique input print r result 以上例程會輸出 array a green 0 red 1 blue 第二種 交換...

陣列去重的幾種方法

實現思路 新建一新陣列,遍歷傳入陣列,值不在新陣列就加入該新陣列中 注意點 判斷值是否在陣列的方法 indexof 是ecmascript5 方法,ie8以下不支援,需多寫一些相容低版本瀏覽器 最簡單陣列去重法 function unique1 array return n 實現思路 新建一js物件...