Linux基礎命令—sort

一生有你llx發表於2018-11-26
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)直接排序
      [root@192 weijie]# cat 1.c
      1K
      1M
      1G
      1T
      [root@192 weijie]# sort 1.c         //直接對比字元排序
      1G
      1K
      1M
      1T
2)按照可讀的單位來排序 
      [root@192 weijie]# sort -h 1.c       //檔案的內容按照單位排序,這些很明顯是記憶體大小單位
      1K
      1M
      1G
      1T
3)按照數字排序
      [root@192 weijie]# cat 2.c
      123
      23
      212
      [root@192 weijie]# sort 2.c         //預設排序,按照字元逐個比較
      123
      212
      23
      [root@192 weijie]# sort -n 2.c     //把內容當做數字排序
      23
      123
      212

相關文章