天天看點

linux中sort和uniq指令

0x1 sort指令

指令說明:

sort指令将文本檔案内容加以排序,sort可針對文本檔案的内容,以行為機關來排序

參數:

-b 忽略每行前面開始出的空格字元。

-c 檢查檔案是否已經按照順序排序。

-d 排序時,處理英文字母、數字及空格字元外,忽略其他的字元。

-f 排序時,将小寫字母視為大寫字母。

-i 排序時,除了040至176之間的ASCII字元外,忽略其他的字元。

-m 将幾個排序好的檔案進行合并。

-M 将前面3個字母依照月份的縮寫進行排序。

-n 依照數值的大小排序。

-o<輸出檔案> 将排序後的結果存入指定的檔案。

-r 以相反的順序來排序。

-t<分隔字元> 指定排序時所用的欄位分隔字元。

+<起始欄位>-<結束欄位> 以指定的欄位來排序,範圍由起始欄位到結束欄位的前一欄位。

–help 顯示幫助。

–version 顯示版本資訊

舉例:

1、sort将檔案的每一行作為一個機關,互相比較,比較原則是從首字元向後,依次按ASCII碼值進行比較,最後将他們按升序輸出,在這一點上和cat指令稍有差別

linux中sort和uniq指令

2、sort的-u 選項它的作用很簡單,就是在輸出行中去除重複行,相比于uniq 的-u選項去重僅僅作用于相鄰行,而sort -u去重的作用則是全局

linux中sort和uniq指令

3、sort的-n選項依照數值的大小排序

linux中sort和uniq指令

0x2 uniq 指令

指令說明:

Linux uniq 指令用于檢查及删除文本檔案中重複出現的行列,一般與 sort 指令結合使用。

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

參數:

-u或–unique 僅顯示出一次的行列。

-c或–count 在每列旁邊顯示該行重複出現的次數。

-d或–repeated 僅顯示重複出現的行列。

-f<欄位>或–skip-fields=<欄位> 忽略比較指定的欄位。

-s<字元位置>或–skip-chars=<字元位置> 忽略比較指定的字元。

-w<字元位置>或–check-chars=<字元位置> 指定要比較的字元。

–help 顯示幫助。

–version 顯示版本資訊。

[輸入檔案] 指定已排序好的文本檔案。如果不指定此項,則從标準讀取資料;

[輸出檔案] 指定輸出的檔案。如果不指定此選項,則将内容顯示到标準輸出裝置(顯示終端)

舉例:

1.使用 uniq 指令删除重複的行,可使用以下指令:

uniq -u kh.txt
           
linux中sort和uniq指令

2.檢查檔案并删除檔案中重複出現的行,并在每列旁邊顯示該行重複出現的次數,可使用如下指令:

linux中sort和uniq指令

繼續閱讀