<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>https://wiki.alex-master.com/index.php?action=history&amp;feed=atom&amp;title=Sort</id>
		<title>Sort - История изменений</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.alex-master.com/index.php?action=history&amp;feed=atom&amp;title=Sort"/>
		<link rel="alternate" type="text/html" href="https://wiki.alex-master.com/index.php?title=Sort&amp;action=history"/>
		<updated>2026-05-06T21:41:24Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.24.2</generator>

	<entry>
		<id>https://wiki.alex-master.com/index.php?title=Sort&amp;diff=600&amp;oldid=prev</id>
		<title>Vaal: Добавлено описание команды sort</title>
		<link rel="alternate" type="text/html" href="https://wiki.alex-master.com/index.php?title=Sort&amp;diff=600&amp;oldid=prev"/>
				<updated>2018-01-10T10:29:47Z</updated>
		
		<summary type="html">&lt;p&gt;Добавлено описание команды sort&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;'''sort''' — Команда сортировки и/или слияния файлов.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Синтаксис ==&lt;br /&gt;
'''sort'''  ['''''-c'''''] ['''''-m'''''] ['''''-u'''''] ['''''-o выходной_файл'''''] ['''''-y'''''килобайт] ['''''-z'''''длина]&amp;lt;br /&amp;gt;&lt;br /&gt;
:['''''-d'''''] ['''''-f'''''] ['''''-i'''''] ['''''-M'''''] ['''''-n'''''] ['''''-r'''''] ['''''-b'''''] ['''''-t'''''разделитель]&amp;lt;br /&amp;gt;&lt;br /&gt;
:['''''+позиция_1''''' ['''''-позиция_2''''']] ['''''файл ...''''']&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Описание ==&lt;br /&gt;
Команда [[sort]] сортирует строки, входящие во все исходные файлы, и выдаёт результат на стандартный вывод. Если имена файлов не указаны, или в качестве файла указан -, исходная информация поступает со стандартного ввода. При упорядочении используется один или несколько ключей сортировки, выделяемых из каждой вводимой строки. По умолчанию ключ сортировки один – вся строка, а порядок является лексикографическим, соответствующим принятой кодировке символов.&lt;br /&gt;
;Основные параметры&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Обязательные аргументы для длинных форм параметров являются также обязательными и для коротких форм''.&lt;br /&gt;
;-b, --ignore-leading-blanks&lt;br /&gt;
: игнорировать пробелы в начале сортируемых полей или начале ключей&lt;br /&gt;
;-d, --dictionary-order&lt;br /&gt;
: воспринимать в составе ключей лишь буквы (латинского алфавита), цифры и пробелы, игнорируя все прочие символы&lt;br /&gt;
;-f, --ignore-case&lt;br /&gt;
: во время сортировки преобразует строчные (маленькие) в соответствующие прописные (большие) буквы, т.е. выполняется сортировка нечувствительная к регистру символов&lt;br /&gt;
;-g, --general-numeric-sort&lt;br /&gt;
: выполнять сравнение в соответствии с общим числовым значением (используют совместно с параметром -b). Это численная сортировка, при которой дополнительно распознаётся экспоненциальное представление чисел (например, 9.1019e7)&lt;br /&gt;
;-i, --ignore-nonprinting&lt;br /&gt;
: в ключах рассматриваются только печатаемые (ASCII) символы, а остальные игнорируются&lt;br /&gt;
;-M, --month-sort&lt;br /&gt;
: выполнять сравнение по трёх-символьным сокращениям англоязычных названий месяцев, т.е. (незнакомое) &amp;lt; `JAN' &amp;lt; ... &amp;lt; `DEC'&lt;br /&gt;
;-n, --numeric-sort&lt;br /&gt;
: числовая сортировка, т.е. сравнение ведётся по числовому значению (используют совместно с параметром -b)&lt;br /&gt;
;-r, --reverse&lt;br /&gt;
: сортировка выполняется в обратном порядке (по убыванию)&lt;br /&gt;
;-y''килобайт''&lt;br /&gt;
: количество дополнительной памяти, используемой командой [[sort]], существенно влияет на скорость её работы. Если опция ''-y'' отсутствует, [[sort]] начинает работу, используя область памяти некоторого стандартного размера, а в случае необходимости запрашивает дополнительную память. Если опция ''-y'' задана с аргументом, команда [[sort]] начинает работу, используя указанное число килобайт памяти, если только не нарушены ограничения сверху или снизу; в этом случае используется соответствующее крайнее значение. Таким образом, указание ''-y0'' гарантирует использование минимального объема памяти. Опция ''-y'' без аргумента задаёт область памяти максимального размера.&lt;br /&gt;
;-zдлина&lt;br /&gt;
: во время сортировки запоминается размер самой длинной строки, так что для фазы слияния команда [[sort]] может отвести буфер нужного размера. Если, в силу действия опций ''-c'' или ''-m'', фаза сортировки пропускается, используется некоторый стандартный размер. Наличие строк, превышающих по длине буфер, приводит к аварийному завершению команды. Задание заведомо достаточной длины гарантирует нормальное выполнение слияния.&lt;br /&gt;
&lt;br /&gt;
;Другие параметры:&lt;br /&gt;
&lt;br /&gt;
;-c, --check&lt;br /&gt;
: проверяет сортировался ли указанный файл. Если да, то не выполняет сортировку, иначе выводит сообщение об ошибке&lt;br /&gt;
;-k, --key=ПОЗ1[,ПОЗ2]&lt;br /&gt;
:выбирает ключ сортировки, начиная с позиции ''ПОЗ1'' и заканчивая позицией ''ПОЗ2'' (включительно). Номера полей и смещения символов указываются, начиная с 1&lt;br /&gt;
;-m, --merge&lt;br /&gt;
: объединяет ранее отсортированные ФАЙЛЫ, которые не сортируются повторно&lt;br /&gt;
;-o, --output=ФАЙЛ&lt;br /&gt;
: выводит результат в указанный файл ФАЙЛ вместо стандартного вывода&lt;br /&gt;
;-s, --stable&lt;br /&gt;
: стабилизирует сортировку, не выполняя сравнения последней пересортировки&lt;br /&gt;
;-S, --buffer-size=РАЗМЕР&lt;br /&gt;
: под основной буфер в памяти использует область размером РАЗМЕР&lt;br /&gt;
;-t, --field-separator=СИМВОЛ&lt;br /&gt;
: использовать СИМВОЛ в качестве разделителя полей&lt;br /&gt;
;-T, --temporary-directory=КАТАЛОГ&lt;br /&gt;
: использует указанный КАТАЛОГ для временных файлов, игнорируя переменную окружения $TMPDIR или /tmp; составные параметры могут указывать на различные каталоги&lt;br /&gt;
;-u, --unique&lt;br /&gt;
: уникальная сортировка: игнорирует повторяющиеся строки. Обычно применяют с параметром ''-c'' для проверки сортированных файлов с целью прерывания выполнения, если встретится несколько одинаковых строк подряд; без -c выводится только первая строка из одинаковых&lt;br /&gt;
;-z, --zero-terminated&lt;br /&gt;
:вместо символа новой строки (newline), завершает строки двоичным 0&lt;br /&gt;
;--help&lt;br /&gt;
:вывести справку о программе, её параметрах и завершить работу&lt;br /&gt;
;--version&lt;br /&gt;
: вывести информацию о версии программы и завершить работу&lt;br /&gt;
Синтаксис параметра ''-k'', ''--key=ПОЗ1[,ПОЗ2]'' означает следующее:&amp;lt;br /&amp;gt;&lt;br /&gt;
''ПОЗ'' указывается в формате ''F[.C][OPTS]'', где ''F'' является порядковым номером поля, а ''C'' позицией символа в этом поле. ''OPTS'' представляет собой одну или более одиночных букв, которые означают рассмотренные выше параметры и их действие перекрывает действие глобальных параметров для этого ключа. Если ни один ключ не задан, в качестве ключа используется вся строка. Ключ сортировки — это часть строки, которая рассматривается при сортировке, вместо того чтобы рассматривалась вся строка. Таким образом, команда:&lt;br /&gt;
;sort -k1.3&amp;lt;br /&amp;gt;&lt;br /&gt;
осуществляет сортировку по первому полю, начиная с его третьего символа. Команда:&lt;br /&gt;
;sort -k4.6,7n&lt;br /&gt;
означает сортировку с 6-го символа четвёртого поля до 1-го символа седьмого поля. Сортировка ведётся по числовому значению. Допускается задание нескольких параметров ''-k'' для того, чтобы определить несколько ключей, которые будут использованы последовательно в том порядке, в котором они указаны в командной строке. Величина размера ''SIZE'' памяти, отводимой для работы команды [[sort]] может быть задана со следующими суффиксами: ''%-1%'' от общей памяти; ''b'' — в байтах; ''K'' — 1024 байт (по умолчанию); и соответственно для ''M'', ''G'', ''T'', ''P'', ''E'', ''Z'', ''Y''. Если в командной строке не указан никакой файл или вместо имени стоит дефис, считывается стандартный ввод (с клавиатуры).&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
;Отсортировать файл ''f1'', используя в качестве ключа второе поле:&lt;br /&gt;
: &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;''sort  +1 -2 f1''&amp;lt;/span&amp;gt;&lt;br /&gt;
;Отсортировать по убыванию содержимое файлов ''f2'' и ''f3'', поместив результат в файл ''f4''. Ключом сортировки служит первый символ второго поля&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
: &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;''sort  -r -o f4 +1.0 -1.2 f2 f3''&amp;lt;/span&amp;gt;&lt;br /&gt;
;Отсортировать по убыванию содержимое файлов ''f5'' и ''f6''. Ключом сортировки служит первый не пробел второго поля&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
: &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;''sort  -r +1.0b -1.1b f5 f6''&amp;lt;/span&amp;gt;&lt;br /&gt;
;Распечатать файл паролей, отсортировав его по числовым значениям идентификаторов пользователей (третье поле, поля разделяются символом &amp;lt;nowiki&amp;gt;:):&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
: &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;''sort  -t: +2n -3 /etc/passwd''&amp;lt;/span&amp;gt;&lt;br /&gt;
;Распечатать строки уже отсортированного файла ''f7'', выводя лишь первую из строк с одинаковыми третьими полями&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
: &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;''sort  -um +2 -3 f7''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Диагностика ==&lt;br /&gt;
Если в последней строке файла пропущен символ возврата каретки, то он добавляется автоматически, о чем выдаётся предупреждение.&lt;br /&gt;
&lt;br /&gt;
== Предостережения ==&lt;br /&gt;
Не гарантируется сохранение порядка следования строк с равными ключами. Не оговаривается приоритет различных способов сравнения (например, числового и словарного), поэтому задавать комбинацию флагов ''dMn'' не имеет смысла.&lt;/div&gt;</summary>
		<author><name>Vaal</name></author>	</entry>

	</feed>