1. 程式人生 > >linux命令之----sort命令用於將文本文件內容加以排序

linux命令之----sort命令用於將文本文件內容加以排序

作用 str 選項 passwd 記錄 有效 語法 file 標準輸出

1、sort命令作用

sort命令用於將文本文件內容加以排序,將輸入行按照鍵值字段與數據類型選項以及locale排序。

一個可預期的記錄次序,會讓用戶的查看使用更方便:書的索引、字典、目錄以及電話簿等,如果沒有次序依據就毫無價值,排序後的記錄更易於程序化,也更有效率。

2、sort命令語法

語法

sort [options] [file(s)]

參數:

  • -b 忽略開頭的空白
  • -c 檢查輸入是否已正確的排序。如果輸入未經排序,返回退出碼非零值
  • -d 字典順序:僅文字數字與空白才有意義
  • -g 一般數值:以浮點數字類型比較字段。
  • -f 將混用的字母都看作相同大小寫,不區分大小寫
  • -i 忽略無法打印的字符
  • -k 定義排序鍵值字段
  • -m 將幾個排序好的文件進行合並。
  • -M 將前面3個字母依照月份的縮寫進行排序。
  • -n 依照數值的大小排序。
  • -o<輸出文件> 將排序後的結果存入指定的文件。
  • -r 以相反的順序來排序。
  • -t<分隔字符> 指定排序時所用的欄位分隔字符。
  • +<起始欄位>-<結束欄位> 以指定的欄位來排序,範圍由起始欄位到結束欄位的前一欄位。
  • --help 顯示幫助。
  • --version 顯示版本信息。

sort會讀取指定的文件,如果未給定文件,則讀取標準輸入,再將排序好的數據寫至標準輸出。

3、sort案例

1)以字段排序

(1)以冒號隔開的第一個字段:用戶名稱進行排序

sort -t: -k1,1 /etc/passwd

(2)以冒號隔開,先以第四段進行排序,然後以第三段進行排序,展示出來(從1開始計數)

sort -t: -k4n,-k3n /etc/passwd

2)把排序結果輸出到原文件中

sort -r test.txt -o test.txt

3)去除重復行

sort -u test.txt

linux命令之----sort命令用於將文本文件內容加以排序