Sort



读取输入、排序数据并将结果写到屏幕、文件和其他设备上。


语法



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]


参数



	/r

	颠倒排序顺序，即从 Z 到 A 排序，然后从 9 到 0 排序。

	/+n

	指定字符位置号 n，sort 在此处开始每次比较。

	/m kilobytes

	指定用于排序的主内存数量，按千字节 (KB) 计。

	/l locale

	替代由系统默认区域设置（即在安装时选择的语言和“国家（地区）”）定义的字符排序顺序。

	/rec characters

	指定记录或输入文件的行中的最多字符数（默认值为 4096，最大值为 65535）。

	[drive1:][path1]filename1

	指定要排序的文件。如果没有指定文件名，则对标准输入排序。指定输入文件比将同一文件作为标准输入重定向速度快。

	/t [drive2:][path2]

	指定保留 sort 命令工作存储的目录路径，防止数据不能装入主内存。默认为使用系统临时目录。

	/o [drive3:][path3]filename3

	指定要存储排序后的输入的文件。如果没有指定，数据将写入标准输出。指定输出文件比将同一文件作为标准输出重定向速度快。

	/?
在命令提示符显示帮助。



注释


 使用 /+n 命令行选项
	
例如，使用 /+n 命令行时，/+3 表示每个比较应该在每行的第三个字符开始。少于 n 个字符的行在其他行之前排序。默认情况下，比较在每行的第一个字符开始。
    
 使用 /m kilobytes 命令行选项
	
使用的内存最小值总是 160 KB。如果指定了内存大小，则无论有多少主内存可用，指定的确切数量（但至少 160 KB）的内存将用于排序。

 如果输入输出均为文件，在没有指定大小时，默认最大内存大小为可用主内存的 90％，否则为主内存的 45％。默认设置通常会产生最佳的性能。
    
 使用 /l locale 命令行选项
	
目前，默认区域设置唯一的备用选项就是“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 命令将显示您键入的文本，并按字母顺序排序。

也可以将排序后的键盘输入重定向到文件。有关的详细信息，请单击“”列表中的 redirect。

XOX



