1. 程式人生 > >Linux基礎命令---sort

Linux基礎命令---sort

sort

以行為單位,對文字檔案進行排,並輸出排序結果。預設情況下,以每一行為一個單位,從首字元開始按照ASCII碼向後逐個比較。此命令的適用範圍:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

 

1、語法

sort [選項]  file

sort [OPTION]... --files0-from=F

 

2、選項列表

選項

說明

--help

顯示幫助文件

--version

顯示版本資訊

-b

忽略每行開頭的空白字元

-d | --dictionary-order

排序時只考慮空格、數字、英語字母

-f | --ignore-case

將小寫字母改為大寫

-g | --general-numeric-sort

按一般數值比較

-i | --ignore-nonprinting

只考慮040到176之間的ASCII字元

-M | --month-sort

按月份排序

-h | --human-numeric-sort

按可讀性資料排序,例如1K,2G

-n | --numeric-sort

按數值大小排序        

-R | --random-sort

按鍵的隨機雜湊排序

--random-source=FILE

從檔案中獲取隨機位元組

-r | --reverse

逆序排列

--sort=WORD

按給出的要求排序:general-numeric  -g,  human-numeric  -h,  month  -M, numeric -n, random -R, version -V

-V | --version-sort

按版本數字排序

--batch-size=NMERGE

最多一次合併NMERGE個輸入;更多地使用temp檔案

-c | --check | --check=diagnose-first

檢測是否已排序,不排序

-C | --check=quiet | --check=silent

和“-c”一樣,不要報告第一個壞行

--compress-program=PROG

用prog壓縮時間,用prog-d解壓

--files0-from=F

從檔案F中以NUL結尾的名稱指定的檔案讀取輸入;如果F是-,則從標準輸入中讀取名稱。

-k | --key=POS1[,POS2]

在POS 1(起始1)處啟動鍵,在POS 2(預設行尾)結束鍵

-m | --merge

合併已經排序的檔案,不排序

-o | --output=file

將結果輸出到指定檔案

-s | --stable

通過禁用最後的比較來穩定排序

-S | --buffer-size=SIZE

主記憶體緩衝器使用SIZE

-t | --field-separator=SEP

使用sep代替分隔符

-T | --temporary-directory=DIR

將DIR用於臨時目錄,而不是$TMPDIR或/tmp;多個選項指定多個目錄

-u, --unique

和“-c”一起使用,檢查是否有嚴格的排序;如果沒有-c,則只輸出相同執行的第一個。

-z, --zero-terminated

結束行為0位元組,而不是換行符

 

3、例項

1)直接排序

[[email protected] weijie]# cat 1.c

1K

1M

1G

1T

[[email protected] weijie]# sort 1.c         //直接對比字元排序

1G

1K

1M

1T

2)按照可讀的單位來排序 

[[email protected] weijie]# sort -h 1.c       //檔案的內容按照單位排序,這些很明顯是記憶體大小單位

1K

1M

1G

1T

3)按照數字排序

[[email protected] weijie]# cat 2.c

123

23

212

[[email protected] weijie]# sort 2.c         //預設排序,按照字元逐個比較

123

212

23

[[email protected] weijie]# sort -n 2.c     //把內容當做數字排序

23

123

212