读取输入、排序数据并将结果写到屏幕、文件和其他设备上。
sort [/r] [/+n] [/m kilobytes] [/l locale] [/rec characters] [[drive1:][path1]filename1] [/t [drive2:][path2]] [/o [drive3:][path3]filename3][command |] sort [/r] [/+n] [/m kilobytes] [/l locale] [/rec characters] [[drive1:][path1]filename1][/t [drive2:][path2]] [/o [drive3:][path3]filename3]
颠倒排序顺序,即从 Z 到 A 排序,然后从 9 到 0 排序。
指定字符位置号 n,sort 在此处开始每次比较。
指定用于排序的主内存数量,按千字节 (KB) 计。
替代由系统默认区域设置(即在安装时选择的语言和"国家(地区)")定义的字符排序顺序。
指定记录或输入文件的行中的最多字符数(默认值为 4096,最大值为 65535)。
指定要排序的文件。如果没有指定文件名,则对标准输入排序。指定输入文件比将同一文件作为标准输入重定向速度快。
指定保留 sort 命令工作存储的目录路径,防止数据不能装入主内存。默认为使用系统临时目录。
指定要存储排序后的输入的文件。如果没有指定,数据将写入标准输出。指定输出文件比将同一文件作为标准输出重定向速度快。
在命令提示符显示帮助。
例如,使用 /+n 命令行时,/+3 表示每个比较应该在每行的第三个字符开始。少于 n 个字符的行在其他行之前排序。默认情况下,比较在每行的第一个字符开始。
使用的内存最小值总是 160 KB。如果指定了内存大小,则无论有多少主内存可用,指定的确切数量(但至少 160 KB)的内存将用于排序。
如果输入输出均为文件,在没有指定大小时,默认最大内存大小为可用主内存的 90%,否则为主内存的 45%。默认设置通常会产生最佳的性能。
目前,默认区域设置唯一的备用选项就是"C"区域设置,该区域设置比自然语言排序快,根据二进制编码对字符排序。
除非指定了 command 或 FileName 参数,否则,sort 将作为筛选器使用,并从标准输入(通常从键盘、管道或文件)获得输入。
可以使用管道 (|) 符号通过 sort 命令从其他命令定向数据,或者将排序输出定向到另一个命令(例如定向到 more 命令,以便一次显示一个屏幕的信息)。使用小于号 (<) 或大于号 (>) 指定输入文件或输出文件可能效率不很高;应该直接指定输入文件(如命令语法中定义),并使用 /o 参数指定输出文件。这样速度会更快,特别对于大文件。
sort 命令不区分大小写字母。
sort 命令对文件大小没有限制。
排序程序使用与"国家(地区)"代码和代码页设置对应的排序序列表。大于 ASCII 代码 127 的字符根据 Country.sys 文件或 Config.nt 文件的 country 命令指定的备用文件中的信息排序。
如果排序适合内存(默认的最大内存或 /m 参数指定的内存大小),则该排序仅以一个周期执行。否则,将以两个周期执行排序,以便用于排序和合并周期的内存数量相等。执行了两个周期后,部分排序的数据存储在磁盘的临时文件中。如果内存不足以以两个周期执行排序,则会出现运行时错误。如果 /m 选项用来指定比实际可用内存更多的内存,则会出现性能下降或运行时错误。
以下命令读取文件 Expenses.txt,以倒序排序该文件并显示在屏幕上:
sort /r expenses.txt
对命令输出排序
要在名为 Maillist.txt 的大文件中搜索文本"Jones",并排序搜索结果,请使用管道 (|) 将 find 命令的输出定向到 sort 命令,如下所示:
find "Jones" maillist.txt | sort
该命令产生包含指定文本的行的排序列表。
要排序键盘输入并按字母顺序在屏幕上显示结果,可以先使用不包含参数的 sort 命令,如下所示: sort
然后键入要排序的文本,在每一行的结尾按回车键。键入完文本后,按 CTRL+Z,然后按回车。sort 命令将显示您键入的文本,并按字母顺序排序。
也可以将排序后的键盘输入重定向到文件。