讀取輸入、排序數據,並將結果寫入畫面、檔案或其他裝置。
Syntax
sort [/r] [/+<N>] [/m <kilobytes>] [/l <locale>] [/rec <characters>] [[<drive1>:][<path1>]<filename1>] [/t [<drive2>:][<path2>]] [/o [<drive3>:][<path3>]<filename3>]
Parameters
| Parameter | Description |
|---|---|
| /r | 反轉排序順序(也就是說,從 Z 到 A 排序,以及從 9 到 0 排序)。 |
/+<N> |
指定 排序 將開始每次比較的字元位置編號。 N 可以是任何有效的整數。 |
/米 <kilobytes> |
指定要用於以 KB 為單位排序的主要記憶體數量。 |
| /l <地區設定> | 覆寫系統預設地區設定所定義的字元排序順序(也就是安裝期間選取的語言和國家/地區)。 |
/娛樂 <characters> |
指定記錄或輸入檔行中的字元數上限(預設值為 4,096,最大值為 65,535)。 |
[<drive1>:][<path1>]<filename1> |
指定要排序的檔案。 如果未指定檔名,則會排序標準輸入。 指定輸入檔的速度比重新導向與標準輸入相同的檔案更快。 |
/噸 [<drive2>:][<path2>] |
指定目錄的路徑,以保存 排序 命令的工作儲存體,如果資料不適合主記憶體。 根據預設,系統會使用系統暫存目錄。 |
/o [<drive3>:][<path3>]<filename3> |
指定要儲存排序輸入的檔案。 如果未指定,數據會寫入標準輸出。 指定輸出檔案的速度比將標準輸出重新導向至相同的檔案更快。 |
| /unique | 只傳回唯一的結果。 |
| /? | 在命令提示字元中顯示說明。 |
Remarks
根據預設,比較會從每一行的第一個字元開始。 指令行選項會在 /+N 指定的字元開始比較。例如,
/+3表示每個比較都應該從每一行的第三個字元開始。 少於 N 個字元的行會在其他行之前進行分頁。使用的記憶體一律至少為 160 KB。 如果指定記憶體大小,則不論可用的主要記憶體數量為何,都會針對排序使用確切的指定數量(必須至少為 160 KB)。
如果未指定任何大小,則預設的最大記憶體大小是可用主要記憶體的 90%,如果輸入和輸出都是檔案,則為 45%,否則為主要記憶體。 默認設定通常會提供最佳效能。
目前,預設地區設定的唯一替代方案是 C 地區設定,其速度比自然語言排序更快(它會根據其二進位編碼來排序字元)。
您可以使用管符號 (
|) 將輸入資料從另一個指令導向至 排序 指令,或將排序輸出導向至另一個指令。 您可以使用重新導向符號來指定輸入和輸出檔案(<或>)。 直接指定輸入檔案 (如命令語法中的 filename1 ) ,然後使用 /o 參數指定輸出檔案,可能會更快且更有效率 (尤其是大型檔案) 。sort 命令不區分大寫和小寫字母,並且對文件大小沒有限制。
排序程式會使用對應至 國家/地區 代碼和字碼頁設定的分照順序資料表。 大於 ASCII 碼 127 的字元會根據 Country.sys 檔案中的資訊,或 Config.nt 檔案中 country 指令所指定的替代檔案中的資訊來排序。
如果排序符合記憶體大小上限 (預設設定或 /m 參數所指定) ,則會在單一階段中執行排序。 否則,排序會以兩個不同的排序和合併傳遞來執行,而兩個傳遞所使用的記憶體數量相等。 執行兩次傳遞時,部分排序的數據會儲存在磁碟上的暫存盤中。 如果記憶體不足,無法以兩個階段執行排序,則會發出運行時錯誤。 如果使用 /m 命令列選項來指定比實際可用的記憶體更多的記憶體,則可能會發生效能降低或執行階段錯誤。
Examples
若要以相反的順序排序並顯示名為 expenses.txt的檔案中的行,請鍵入:
sort /r expenses.txt若要在名為 maillist.txt 的大型檔案中搜尋文字 Jones,並使用管道 (
|) 來排序搜尋結果,以將 尋找 指令的輸出導向至 排序 指令,請鍵入:find Jones maillist.txt | sort此命令會產生包含指定文字的已排序行清單。
若要排序鍵盤輸入並依字母順序在螢幕上顯示結果,您可以先使用沒有參數的 排序 命令,方法是輸入:
sort然後輸入您想要排序的文字,然後按每一行結尾的 ENTER。 當您完成輸入文字時,請按 CTRL+Z,然後按 ENTER 鍵。 排序指令會顯示您輸入的文字,並依字母順序排序。