linux uniq命令詳解

2021-10-05 20:32:17 字數 1500 閱讀 9485

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命令詳解

linux uniq命令詳解 用uniq命令可以刪除相鄰的重複行 uniq file 但如果一文字中有重複卻不相鄰的行則無法刪除,需要結合sort命令 sort file uniq 等效的sort命令是 sort u file 另外uniq命令有4個有用的選項 uniq d file 只輸出file...

linux uniq 命令詳解

uniq 命令 文字 uniq 是linux命令 用途 報告或刪除檔案中重複的行。語法 uniq c d u f fields s characters fields characters infile outfile 描述 uniq 命令刪除檔案中的重複行。uniq 命令讀取由 infile 引數...

linux uniq 命令詳解

uniq 命令 文字 uniq 是linux命令 用途 報告或刪除檔案中重複的行。語法 uniq c d u f fields s characters fields characters infile outfile 描述 uniq 命令刪除檔案中的重複行。uniq 命令讀取由 infile 引數...