功能說明:將文本文件內容加以排序。
語 法: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