Поделиться через


sort

Считывает входные данные, сортирует данные и записывает результаты на экран, в файл или на другое устройство.

Syntax

sort [/r] [/+<N>] [/m <kilobytes>] [/l <locale>] [/rec <characters>] [[<drive1>:][<path1>]<filename1>] [/t [<drive2>:][<path2>]] [/o [<drive3>:][<path3>]<filename3>]

Parameters

Parameter Description
/r Изменяет порядок сортировки (т. е. сортирует от Z до A и от 9 до 0).
/+<N> Указывает номер позиции символа, с которой сортировка будет начинать каждое сравнение. N может быть любым допустимым целым числом.
<kilobytes> Указывает объем основной памяти, используемой для сортировки в килобайтах (КБ).
/l <языкового стандарта> Переопределяет порядок сортировки символов, определенных языковым стандартом по умолчанию системы (т. е. языком и страной или регионом, выбранным во время установки).
/rec <characters> Указывает максимальное количество символов в записи или строке входного файла (значение по умолчанию равно 4096, а максимальное — 65 535).
[<drive1>:][<path1>]<filename1> Указывает файл для сортировки. Если имя файла не указано, то стандартные входные данные отсортированы. Указание входного файла быстрее перенаправления того же файла, что и стандартные входные данные.
[<drive2>:][<path2>] Указывает путь к каталогу, в котором будет храниться рабочее хранилище команды сортировки , если данные не помещаются в основной памяти. По умолчанию используется временный каталог системы.
[<drive3>:][<path3>]<filename3> Указывает файл, в котором должны храниться отсортированные входные данные. Если данные не указаны, данные записываются в стандартные выходные данные. Указание выходного файла выполняется быстрее, чем перенаправление стандартных выходных данных в тот же файл.
/unique Возвращает только уникальные результаты.
/? Отображает справку в командной строке.

Remarks

  • По умолчанию сравнения начинаются с первого символа каждой строки. Параметр /+ командной строки начинает сравнение с символа, указанного как N. Например, указывает, /+3 что каждое сравнение должно начинаться с третьего символа каждой строки. Строки, содержащие менее N символов, сортируются перед другими строками.

  • Используемая память всегда составляет не менее 160 КБ. Если указан размер памяти, то для сортировки используется точный объем (должен быть не менее 160 КБ), независимо от объема доступной основной памяти.

  • Максимальный размер памяти по умолчанию, если размер не указан в 90% доступной основной памяти, если входные и выходные данные являются файлами, или 45% основной памяти в противном случае. Параметр по умолчанию обычно обеспечивает лучшую производительность.

  • В настоящее время единственным вариантом языкового стандарта по умолчанию является языковой стандарт C, который быстрее, чем сортировка естественного языка (он сортирует символы в соответствии с их двоичными кодировками).

  • Символ вертикальной черты (|) можно использовать для направления входных данных в команду сортировки из другой команды или для направления отсортированных выходных данных в другую команду. Входные и выходные файлы можно указать с помощью символов перенаправления (< или >). Может быть быстрее и эффективнее (особенно при работе с большими файлами) указать входной файл напрямую (как определено filename1 в синтаксисе команды), а затем указать выходной файл с помощью параметра /o .

  • Команда sort не делает различий между прописными и строчными буквами и не имеет ограничений на размер файла.

  • Программа сортировки использует таблицу сортировочной последовательности, которая соответствует коду страны/региона и настройкам кодовой страницы. Символы больше кода ASCII 127 сортируются на основе информации в файле Country.sys или в альтернативном файле, указанном командой country в файле Config.nt.

  • Если сортировка укладывается в максимальный объем памяти (установленный по умолчанию или указанный параметром /m ), сортировка выполняется за один проход. В противном случае сортировка выполняется в двух отдельных проходах сортировки и слияния, а объем памяти, используемой для обоих проходов, равны. При выполнении двух проходов частично отсортированные данные хранятся во временном файле на диске. Если недостаточно памяти для выполнения сортировки в двух проходах, возникает ошибка во время выполнения. Если параметр командной строки /m используется для указания большего объема памяти, чем действительно доступно, может произойти снижение производительности или ошибка во время выполнения.

Examples

  • Чтобы отсортировать и отобразить в обратном порядке строки в файле с именем expenses.txt, введите:

    sort /r expenses.txt
    
  • Чтобы выполнить поиск текста Jones в большом файле с именем maillist.txt и отсортировать результаты поиска с помощью вертикальной черты (|), которая направляет вывод команды find на команду сортировки, введите:

    find Jones maillist.txt | sort
    

    Команда создает отсортированный список строк, содержащих указанный текст.

  • Чтобы отсортировать ввод с клавиатуры и отобразить результаты в алфавитном порядке на экране, вы можете сначала использовать команду сортировки без параметров, введя:

    sort
    

    Затем введите нужный текст и нажмите клавишу ВВОД в конце каждой строки. Завершив ввод текста, нажмите клавиши CTRL+Z и нажмите клавишу ВВОД. Команда сортировки отображает введенный вами текст, отсортированный в алфавитном порядке.