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


сортировать

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

Синтаксис

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 может быть любым допустимым целым числом.
/m <kilobytes> Указывает объем основной памяти, используемой для сортировки в килобайтах (КБ).
/l <языкового стандарта> Переопределяет порядок сортировки символов, определенных языковым стандартом по умолчанию системы (т. е. языком и страной или регионом, выбранным во время установки).
/rec <characters> Указывает максимальное количество символов в записи или строке входного файла (значение по умолчанию равно 4096, а максимальное — 65 535).
[<drive1>:][<path1>]<filename1> Указывает файл для сортировки. Если имя файла не указано, то стандартные входные данные отсортированы. Указание входного файла быстрее перенаправления того же файла, что и стандартные входные данные.
/t [<drive2>:][<path2>] Указывает путь к каталогу для хранения рабочего хранилища сортировки команды, если данные не помещаются в основную память. По умолчанию используется временный каталог системы.
/o [<drive3>:][<path3>]<filename3> Указывает файл, в котором должны храниться отсортированные входные данные. Если данные не указаны, данные записываются в стандартные выходные данные. Указание выходного файла выполняется быстрее, чем перенаправление стандартных выходных данных в тот же файл.
/уникальный Возвращает только уникальные результаты.
/? Отображает справку в командной строке.

Замечания

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