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