sort
Считывает входные данные, сортирует данные и записывает результаты на экран, в файл или на другое устройство.
Синтаксис
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 может быть любым допустимым целым числом. |
/М <kilobytes> |
Указывает объем основной памяти, используемой для сортировки в килобайтах (КБ). |
Языковой стандарт /l <> | Переопределяет порядок сортировки символов, определенных языковым стандартом по умолчанию системы (т. е. языком и страной или регионом, выбранным во время установки). |
/Rec <characters> |
Указывает максимальное количество символов в записи или строке входного файла (значение по умолчанию равно 4096, а максимальное — 65 535). |
[<drive1>:][<path1>]<filename1> |
Указывает файл для сортировки. Если имя файла не указано, то стандартные входные данные отсортированы. Указание входного файла быстрее перенаправления того же файла, что и стандартные входные данные. |
/T [<drive2>:][<path2>] |
Указывает путь к каталогу для хранения рабочего хранилища команды сортировки , если данные не помещаются в основную память. По умолчанию используется временный каталог системы. |
/O [<drive3>:][<path3>]<filename3> |
Указывает файл, в котором должны храниться отсортированные входные данные. Если данные не указаны, данные записываются в стандартные выходные данные. Указание выходного файла выполняется быстрее, чем перенаправление стандартных выходных данных в тот же файл. |
/unique | Возвращает только уникальные результаты. |
/? | Отображение справки в командной строке. |
Замечания
По умолчанию сравнения начинаются с первого символа каждой строки. Параметр /+ командной строки запускает сравнения с символом, заданным N. Например, указывает,
/+3
что каждое сравнение должно начинаться с третьего символа каждой строки. Линии с меньшим числом символов N сопоставляются перед другими строками.Используемая память всегда составляет не менее 160 КБ. Если указан размер памяти, то для сортировки используется точный объем (должен быть не менее 160 КБ), независимо от объема доступной основной памяти.
Максимальный размер памяти по умолчанию, если размер не указан в 90 % доступной основной памяти, если входные и выходные данные являются файлами, или 45 % основной памяти в противном случае. Параметр по умолчанию обычно обеспечивает лучшую производительность.
В настоящее время единственным вариантом языкового стандарта по умолчанию является языковой стандарт C, который быстрее, чем сортировка естественного языка (он сортирует символы в соответствии с их двоичными кодировками).
Символ канала (
|
) можно использовать для направления входных данных в команду сортировки из другой команды или перенаправления отсортированных выходных данных в другую команду. Входные и выходные файлы можно указать с помощью символов перенаправления (<
или>
). Это может быть быстрее и эффективнее (особенно с большими файлами), чтобы указать входной файл напрямую (как определено именем файла1 в синтаксисе команды), а затем указать выходной файл с помощью параметра /o .Команда сортировки не различает буквы верхнего и нижнего регистра и не ограничивает размер файла.
Программа сортировки использует таблицу сортировки последовательности, соответствующую коду страны или региона и параметрам кодовой страницы. Символы, превышающие код ASCII 127, сортируются на основе сведений в файле Country.sys или в альтернативном файле, указанном командой страны в файле Config.nt.
Если сортировка соответствует максимальному размеру памяти (как задано по умолчанию или как указано параметром /m ), сортировка выполняется в одном проходе. В противном случае сортировка выполняется в двух отдельных проходах сортировки и слияния, а объем памяти, используемой для обоих проходов, равны. При выполнении двух проходов частично отсортированные данные хранятся во временном файле на диске. Если недостаточно памяти для выполнения сортировки в двух проходах, возникает ошибка во время выполнения. Если параметр командной строки /m используется для указания большего объема памяти, чем действительно доступно, снижение производительности или ошибка во время выполнения может возникнуть.
Примеры
Чтобы отсортировать и отобразить строки в файле с именем expenses.txt, введите:
sort /r expenses.txt
Чтобы выполнить поиск по большому файлу с именем maillist.txt для текста Jones, а также сортировать результаты поиска с помощью канала (
|
) для направления выходных данных команды поиска в команду сортировки, введите:find Jones maillist.txt | sort
Команда создает отсортированный список строк, содержащих указанный текст.
Чтобы отсортировать ввод клавиатуры и отобразить результаты в алфавитном порядке на экране, сначала можно использовать команду сортировки без параметров, введя следующее:
sort
Затем введите нужный текст и нажмите клавишу ВВОД в конце каждой строки. Завершив ввод текста, нажмите клавиши CTRL+Z и нажмите клавишу ВВОД. Команда сортировки отображает текст, который вы ввели в алфавитном порядке.