功能說明:將文字檔內容加以排序。
語 法:sort [-bcdfimMnr][-o<輸出檔案>][-t<分隔字元>][+<起始欄位>-<結束欄位>][--help][--verison][檔案]
補充說明:sort可針對文字檔的內容,以行為單位來排序。
參 數:
-b 忽略每行前面開始出的空白字元。
-c 檢查檔案是否已經按照順序排序。
-d 排序時,處理英文字母、數字及空白字元外,忽略其他的字元。
-f 排序時,將小寫字母視為大寫字母。
-i 排序時,除了040至176之間的ASCII字元外,忽略其他的字元。
-m 將幾個排序好的檔案進行合并。
-M 將前面3個字母依照月份的縮寫進行排序。
-n 依照數值的大小排序。
-o<輸出檔案> 將排序後的結果存入指定的檔案。
-r 以相反的順序來排序。
-t<分隔字元> 指定排序時所用的欄位分隔字元。
+<起始欄位>-<結束欄位> 以指定的欄位來排序,範圍由起始欄位到結束欄位的前一欄位。
--help 顯示協助。
--version 顯示版本資訊
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
下面通過幾個例子來講述Sort的使用。
用Sort命令對text檔案中各行排序後輸出其結果。請注意,在原檔案的第二、三行上的第一個單詞完全相同,該命令將從它們的第二個單詞vegetables與fruit的首字元處繼續進行比較。
$ cat text
vegetable soup
fresh vegetables
fresh fruit
lowfat milk
$ Sort text
fresh fruit
fresh vegetables
lowfat milk
vegetable soup
使用者可以儲存排序後的檔案內容,或把排序後的檔案內容輸出至印表機。下例中使用者把排序後的檔案內容儲存到名為result的檔案中。
$ Sort text>result
以第2個欄位作為排序關鍵字對檔案example的內容進行排序。
$ Sort +1-2 example
對於file1和file2檔案內容反向排序,結果放在outfile中,利用第2個欄位的第一個字元作為排序關鍵字。
$ Sort -r -o outfile +1.0 -1.1 example
Sort排序常用於在管道中與其他命令連用,組合完成比較複雜的功能,如利用管道將當前工作目錄中的檔案送給Sort進行排序,排序關鍵字是第6個至第8個欄位。
$ ls - l | Sort +5 - 7
$ ps -e -o " comm pid time"|Sort -d //按照command的首字母的字母順序排序
Sort命令也可以對標準輸入進行操作。例如,如果您想把幾個檔案文本行合并,並對合并後的文本行進行排序,您可以首先用命令cat把多個檔案合并,然後用管道操作把合并後的文本行輸入給命令Sort,Sort命令將輸出這些合并及排序後的文本行。在下面的例子中,檔案veglist與檔案 fruitlist的文本行經過合并與排序後被儲存到檔案clist中。
$ cat veglist fruitlist | Sort > clist