读取输入、排序数据并将结果写到屏幕、文件和其他设备上。
使用 /+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 命令,如下所示:
排序
然后键入要排序的文本,在每一行的结尾按 Enter。键入文本后,按 Ctrl+Z,然后按 Enter。sort 命令将显示您键入的文本,并按字母顺序排序。
也可以将排序后的键盘输入重定向到文件。详细信息,请单击“相关主题”列表中的 redirect。
相关文章