Sort
Считывает входящие данные, сортирует их. Результат может быть выведен на экран, в файл или на другое устройство.
Синтаксис
sort [/r] [/+n] [/m килобайты] [/l язык] [/rec символы] [[ диск1:][путь1]имя_файла1] [/t [диск2:][ путь2]] [/o [диск3:][путь3]имя_файла3]
[команда |] sort [/r] [/+n] [ /m килобайты] [/l язык] [/rec символы] [[диск1:][путь1]имя_файла1][/t [ диск2:][путь2]] [/o [диск3:][путь3] имя_файла3]
Параметры
- /r
- Изменяет порядок сортировки, задает сортировку от Z к A, затем от 9 к 0.
- /+n
- Указывает номер позиции символа, n, начиная с которой sort выполняет сравнение.
- /m килобайты
- Указывает количество основной памяти, используемой для сортировки (в килобайтах).
- /l язык
- Переопределяет порядок сортировки символов, задаваемый языком, который используется системой по умолчанию(т. е. языком и страной/регионом, выбранными при установке).
- /rec символы
- Указывает максимальное числа символов в записи (или строке) входного файла. (Значение по умолчанию равно 4096, максимальное значение 65535).
- [диск1:][путь1]имя_файла1
- Указывает сортируемый файл. Если имя не указано, сортируется стандартный ввод. При указании входного файла команда работает быстрее, чем при перенаправлении того же файла на стандартный ввод.
- /t [диск2:][путь2]
- Указывает каталог для хранения рабочих данных команды sort, если сортируемые данные не помещаются в основной памяти. По умолчанию используется системный временный каталог.
- /o [диск3:][путь3]имя_файла3
- Указывает файл для хранения отсортированного ввода. Если параметр не указан, данные будут записываться в стандартный вывод. При указании выходного файла команда работает быстрее, чем при перенаправлении того же файла на стандартный вывод.
- /?
- Отображает справку в командной строке.
Примечания
- Использование параметра командной строки /+n
Использование параметра командной строки /+n, например
/+3
указывает, что сравнение должно начинаться с третьего символа в каждой строке. Строки, имеющие меньше, чем n символов, оказываются перед другими строками. По умолчанию сравнение начинается с первого символа в строке. - Использование параметра командной строки /m килобайты
Всегда используется как минимум 160 Кб. Если указан объем памяти, для сортировки используется указанный объем (но не меньше 160 Кб), независимо от объема доступной памяти.
Максимальный объем памяти по умолчанию, если параметр не указан, составляет 90 процентов доступной основной памяти, если и ввод, и вывод идет через файлы, и 45 процентов в противоположном случае. Настройки по умолчанию обычно дают наилучшее быстродействие.
- Использование параметра командной строки /l язык
В настоящий момент единственной альтернативой языку по умолчанию является «C», который позволяет сортировать быстрее, чем при сортировке естественного языка. Сортировка символов производится по их двоичной кодировке.
- Задание источника данных
Когда задан параметр команда или имя_файла, команда sort действует как фильтр и получает входные данные из стандартного ввода (обычно с клавиатуры, из канала или из файла).
- Использование перенаправления с командой sort
Чтобы направить команде sort данные от другой команды или направить результаты сортировки другой команде (например команде more для вывода с паузой после заполнения экрана), может быть использован символ канала (|). Использование символов «меньше» (<) или «больше» (>) для указания входного и выходного файлов не может быть очень эффективным. Вместо этого непосредственно укажите входной файл (как определено синтаксисом команды) и укажите выходной файл с помощью ключа /o. Сортировка, указанная таким способом, может оказаться значительно быстрее, особенно для больших файлов.
- Строчные и заглавные буквы
Команда sort не различает строчные и заглавные буквы.
- Размер файлов
Команда sort может обрабатывать файлы любого размера.
- Последовательность сортировки
Программа сортировки использует последовательность сортировки, соответствующую текущим установкам языка или страны/региона и текущей кодовой странице. Символы с кодом ASCII, большим 127, сортируются в соответствии со сведениями в файле Country.sys или в альтернативном файле, заданном командой country в файле Config.nt.
- Использование памяти
Если сортируемые данные помещаются в памяти (максимального объема памяти по умолчанию или объема, указанного параметром /m), сортировка выполняется за один проход. В противном случае, сортировка выполняется за два прохода, так что объемы памяти, использованной для проходов сортировки и слияния, равны. Если выполняются два прохода, частично отсортированные данные хранятся во временном файле на диске. Если памяти недостаточно для выполнения сортировки в два прохода, выдается сообщение об ошибке времени выполнения. Если параметр /m указывает больший объем памяти, чем доступный на самом деле, может произойти снижение быстродействия или может возникнуть ошибка времени выполнения.
Примеры
Сортировка файла
Следующая команда считывает файл Expenses.txt, сортирует его в обратном порядке и выводит на экран:
sort /r expenses.txt
Сортировка результата работы команды
Чтобы найти в большом файле с именем Maillist.txt строку «Jones» и отсортировать результаты поиска, используйте канал (|) для направления результата работы команды find команде sort, как показано ниже:
find "Jones" maillist.txt | sort
Команда выводит на экран отсортированный список строк, содержащих заданный текст.
Сортировка ввода с клавиатуры
Для сортировки данных, вводимых с клавиатуры, и вывода результат на экран можно использовать команду sort без параметров, как показано в следующем примере:
sort
Затем вводится текст, который необходимо отсортировать; каждая строка заканчивается нажатием клавиши ENTER. Когда ввод будет закончен, следует нажать комбинацию CTRL+Z и ENTER. Команда sort выведет на экран введенные строки, отсортированные в алфавитном порядке.
Вывод также может быть направлен и в файл. Чтобы получить дополнительные сведения, выберите redirect.
Для вопросов, обсуждений, замечаний, предложений и т. п. можете использовать раздел форума этого сайта (требуется регистрация).
Новый раздел о средствах командной строки в рамках этого же проекта расположен здесь