1. 程式人生 > >shell排序命令-sort

shell排序命令-sort

sort命令是以行為單位對多行資料進行排序。
這裡寫圖片描述
例如有文字檔案test_sort, 其中有五行內容,利用sort命令,可將這五行內容按字典序從小到大排序。
如果sort命令什麼都不加,預設是以第一個字母的ASCII碼值開始進行比較,如果第一個字母相同,則比較第二個字母,以此類推。
除了不需要標明引數而執行預設引數外,sort還提供了一些選項:
-f: 忽略大小寫排序(系統會將所有的小寫自動轉化為大寫進行比較排序)
-n: 以數值型進行排序(眾所周知,shell的預設型別是字元型,如果對1123, 132, 23, 312進行預設排序,系統將會對這四個數字進行字典排序而非數字排序,排序後的結果為:1123, 132, 23, 312,但如果加上引數-n,系統將以數字大小對這四個數進行排序)
這裡寫圖片描述


-r: 反向排序
-t: 指定分隔符, -t後邊為指定的分隔符。預設以Tab鍵為分割符
-k: -k n,表示從第幾欄位開始進行比較,預設是從指定欄位的第一個字母到行尾,也可以指定一個欄位區間,中間用,(逗號隔開),比如2, 3,表示只比較第二到第三欄位之間的字元,一般-k和-t配合使用。
這裡寫圖片描述
比如有文字檔案test_sort,其中有四行內容,我們選定分隔符為下劃線”_”,並從第二個欄位開始進行比較,排序結果如上圖所示。
若有不對之處,敬請指正