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 и нажмите клавишу ВВОД. Команда сортировки отображает текст, который вы ввели в алфавитном порядке.