6 shell命令之sort,uniq

來源:互聯網
上載者:User

標籤:shell   sort uniq   

sort用來排序,uniq用來去重,這兩個命令經常被結合在一起使用.主要就是因為uniq去重的前提是文本必須排好序才可以.

當然字面上面理解,這兩個命令的確是這樣的功能.但是其實不然,他們還有相關的其它能力.一起來看看.

sort [option] filename ...    對filename指定的檔案進行排序相關的操作.

option常用的包括:

-b   忽略最前面的空格.

-c   檢查是否已經排序,結果通過$?來查看

-n   按數字進行排序

-d   字典排序.

-M   月份排序

-h   排序人們所理解的單位.比如1K  小於   1G

-r   reverse   反序

-R   random   隨機

-t   域分隔字元

-k   關鍵字域

-o   輸出,預設輸出到stdout,如果指定了這個選項,則輸出到檔案中.

-u   排序後去除重複的行.

在上面這些選項中最常用的就是-b -n -t -k -r

看下效果:

1. 根據目前的目錄檔案的大小排序:


sort預設的分隔字元是空格和tab鍵,所以在這裡並不需要特別指定.

2. 指定輸出檔案.

這也就是-o存在的意義.你可能想重新導向到同一個檔案中,但是那樣的結果是你會死得很慘.資料會丟失.這種方式則不會.

3. 檢查一個檔案是否排好了


4. 排序去重

ok.基本上我也就用這麼幾個sort的功能.同學們在實際的應用中,要習慣去使用man.可能英文不是那麼好理解,至少對我而言如此.不過我有自己的辦法,就是我先去熟悉一個命令,等大致熟悉了以後,就可以理解英文的意思了.

通過第四個小例子,可以很容易聯想到uniq,因為它同樣可以完成這樣的意圖.

uniq [option] input output   uniq接受輸出,把結果輸出的標準輸出.

常見的選項有:

-d   僅列印出重複的行

-u   僅列印不重複的行,與-d作用相反

-c    去重,並且加一個計數首碼.

-s n   跳過前n個字元.

-w n  僅比較指定的n個字元數,常和s選項合用,指定一個範圍進行去重.


關於這兩個命令就總結這麼多,還是要多去敲敲,哪怕沒有環境用,創造一個環境也用一下.

6 shell命令之sort,uniq

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.