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