linux之uniq 命令詳解

2021-10-06 20:09:58 字數 1643 閱讀 7026

linux uniq 命令用於檢查及刪除文字檔案中重複出現的行列,一般與 sort 命令結合使用。

uniq 可檢查文字檔案中重複出現的行列。

語法:

uniq [-cdu][-f《字段》][-s《字元位置》][-w《字元位置》][--help][--version][輸入檔案][輸出檔案]
引數

檔案testfile中第 2、3、5、6、7、9行為相同的行,使用 uniq 命令刪除重複的行,可使用以下命令:

uniq testfile
testfile中的原有內容為:

$ cat testfile      #原有內容  

test 30

test 30

test 30

hello 95

hello 95

hello 95

hello 95

linux 85

linux 85

使用uniq 命令刪除重複的行後,有如下輸出結果:

$ uniq testfile     #刪除重複行後的內容  

test 30

hello 95

linux 85

檢查檔案並刪除檔案中重複出現的行,並在行首顯示該行重複出現的次數。使用如下命令:

uniq -c testfile 

結果輸出如下:

$ uniq -c testfile #刪除重複行後的內容

3 test 30 #前面的數字的意義為該行共出現了3次

4 hello 95 #前面的數字的意義為該行共出現了4次

2 linux 85 #前面的數字的意義為該行共出現了2次

當重複的行並不相鄰時,uniq 命令是不起作用的,即若檔案內容為以下時,uniq 命令不起作用:

$ cat testfile1      # 原有內容 

test 30

hello 95

linux 85

test 30

hello 95

linux 85

test 30

hello 95

linux 85

這時我們就可以使用 sort:

$ sort  testfile1 | uniq

hello 95

linux 85

test 30

統計各行在檔案**現的次數:

$ sort testfile1 | uniq -c

3 hello 95

3 linux 85

3 test 30

在檔案中找出重複的行:

$ sort testfile1 | uniq -d

hello 95

linux 85

test 30

Linux命令之uniq命令使用詳解

uniq命令可以去除排序過的檔案中的重複行,因此uniq經常和sort合用。也就是說,為了使uniq起作用,所有的重複行必須是相鄰的。語法 uniq cdu f 字段 s 字元位置 w 字元位置 help version 輸入檔案 輸出檔案 補充說明 uniq可檢查文字檔案中重複出現的行列。引數 c...

Linux命令詳解 Uniq

本次我們來學習一下uniq shell 命令,wiki見這裡 wiki的結果比較簡單,我們可以直接在系統上先man一下看下結果 uniq report or omit repeated lines 這個摘要很有一下,注意是report or omit,也就是說既能顯示某些資訊,也能忽略某些資訊,後者...

Linux的uniq命令詳解

linux命令uniq的作用是過濾重複部分顯示檔案內容,這個命令讀取輸入檔案,並比較相鄰的行。在正常情況下,第二個及以後更多個重複行將被刪去,行比較是根據所用字符集的排序序列進行的。該命令加工後的結果寫到輸出檔案中。輸入檔案和輸出檔案必須不同。如果輸入檔案用 表示,則從標準輸入讀取。uniq 選項 ...