mark.zlatoust.ru Послать письмо Webmaster-у Web-Master © Бернадинер Марк 

Златоуст.Ru

 

 

      SORT(1)                                                 SORT(1)

      НАЗВАНИЕ
              sort - сортировка и/или слияние файлов

      СИНТАКСИС
              sort  [-c] [-m] [-u] [-o выходной_файл] [-yкилобайт] [-zдлина]
                  [-d] [-f] [-i] [-M] [-n] [-r] [-b] [-tразделитель]
                  [+позиция_1 [-позиция_2]] [файл ...]

      ОПИСАНИЕ
              Команда sort сортирует строки, входящие во все исходные
              файлы, и выдает результат на  стандартный  вывод.  Если
              имена файлов не указаны, или в качестве файла указан -,
              исходная информация поступает со стандартного ввода.

              При упорядочении используется один или несколько ключей
              сортировки, выделяемых из каждой  вводимой  строки.  По
              умолчанию ключ сортировки один - вся строка, а  порядок
              является лексикографическим,  соответствующим  принятой
              кодировке символов.

              Следующие опции изменяют стандартный порядок работы:

              -c   Проверить,  является  ли  (единственный)  исходный
                   файл уже отсортированным. На стандартный вывод ни-
                   чего не выдается. В стандартный протокол выводится
                   соответствующее сообщение только в случае  наруше-
                   ния упорядоченности строк.

              -m   Только слияние исходных файлов, которые  предпола-
                   гаются отсортированными.

              -u   Опция уникальности: из всех совпадающих строк  вы-
                   водить только одну.

              -o выходной_файл
                   Результат направляется не на стандартный вывод,  а
                   в выходной_файл, который может совпадать  с  одним
                   из исходных.

              -yкилобайт
                   Количество дополнительной памяти, используемой ко-
                   мандой sort, существенно влияет на скорость ее ра-
                   боты. Если опция -y отсутствует, sort начинает ра-
                   боту, используя область  памяти  некоторого  стан-
                   дартного размера, а в случае необходимости  запра-
                   шивает дополнительную память. Если опция -y задана
                   с аргументом, команда sort  начинает  работу,  ис-
                   пользуя  указанное  число  килобайт  памяти,  если
                   только не нарушены ограничения сверху или снизу; в
                   этом случае используется  соответствующее  крайнее
                   значение. Таким образом, указание -y0  гарантирует
                   использование минимального об ема памяти. Опция -y
                   без аргумента задает область памяти  максимального
                   размера.

              -zдлина
                   Во  время  сортировки  запоминается  размер  самой
                   длинной строки, так что для фазы  слияния  команда
                   sort может отвести буфер нужного размера. Если,  в
                   силу действия опций -c  или  -m,  фаза  сортировки
                   пропускается, используется  некоторый  стандартный
                   размер. Наличие строк, превышающих по длине буфер,
                   приводит к аварийному завершению команды.  Задание
                   заведомо достаточной длины гарантирует  нормальное
                   выполнение слияния.

              Следующие опции позволяют выбрать нужный способ сравне-
              ния:

              -d   "Словарный" порядок: при сравнении являются значи-
                   мыми только буквы, цифры, пробелы и знаки  табуля-
                   ции.

              -f   Преобразовывать малые буквы в большие.

              -i   При нечисловых сравнениях игнорировать  символы  с
                   (восьмеричными) кодами,  не  лежащими  в  пределах
                   040-0176.

              -M   Сравнивать как месяца. Первые три символа,  отлич-
                   ные  от  пробела,  сравниваются таким образом, что
                   "JAN" < "FEB" < ... < "DEC" (малые буквы  преобра-
                   зуются  в большие). Остальные трехсимвольные соче-
                   тания считаются меньшими,  чем  "JAN".  Эта  опция
                   включает опцию -b (см. ниже).

              -n   Числовое сравнение. Начальные пробелы отбрасывают-
                   ся,  затем  цифровые  цепочки символов, содержащие
                   быть может знак минус и десятичную точку,  сравни-
                   ваются как числа. Эта опция включает опцию -b (см.
                   ниже).  Отметим,  что опция -b действует только на
                   ключи сортировки с наложенными ограничениями.

              -r   Заменить результат сравнения на противоположный.

              Если опции, задающие способ сравнения, указаны до огра-
              ничений на ключи сортировки, то  они  применяются  гло-
              бально  ко  всем  ключам. Если же соответствующие флаги
              ассоциированы с определенными ключами  сортировки  (см.
              ниже), они воздействуют только на "свои" ключи.

              Полем называется минимальная последовательность  симво-
              лов, за которой следует разделитель полей  или  перевод
              строки. По  умолчанию  символом-разделителем  считается
              пробел или символ табуляции. Пробелы и табуляции  сразу
              вслед за разделителем (если они есть) принадлежат  сле-
              дующему полю. Все пробелы в начале строки входят в пер-
              вое поле. На трактовку  разделителей  влияют  следующие
              опции:

              -b   Игнорировать начальные пробелы при определении на-
                   чала и конца ключей сортировки. Если опция -b ука-
                   зана   перед  первым  аргументом  +позиция_1,  она
                   действует на все ключи с наложенными  ограничения-
                   ми.  Флаг  b  можно связать и с отдельными ключами
                   сортировки (см. ниже).

              -tразделитель
                   Использовать заданный символ как разделитель полей.
                   Разделитель не является частью поля (хотя и  может
                   входить в ключ сортировки). Каждое вхождение  раз-
                   делителя является значимым, то есть два рядом сто-
                   ящих разделителя ограничивают пустое поле.

              При наложении ограничения на ключ сортировки указывает-
              ся позиция начала ключа (+позиция_1) и позиция сразу за
              концом ключа (-позиция_2). Если  опция  -позиция_2  от-
              сутствует, ключ занимает весь остаток строки.

              Позиция_1 и позиция_2 задаются как пара m.n,  возможно,
              с последующими флагами bdfiMnr. Начальная позиция зада-
              ется как +m.n, что означает (n+1)-ый символ в  (m+1)-ом
              поле (поля и символы нумеруются с единицы).  Отсутствие
              .n означает .0, то есть первый  символ  (m+1)-го  поля.
              Если указан флаг b, то n отсчитывается от первого  неп-
              робела в (m+1)-ом поле; +m.0b означает первый  непробел
              в (m+1)-ом поле.

              Позиция за концом ключа записывается как -m.n, что  оз-
              начает (n+1)-ый символ (включая разделители) после пос-
              леднего символа m-го поля. Если .n опущено, то подразу-
              мевается .0, то есть разделитель после m-го поля.  Если
              указан флаг b, то n отсчитывается от первого  непробела
              в (m+1)-ом поле.

              Если указано  несколько  ключей  сортировки,  то  более
              поздние используются только в  случае  равенства  более
              ранних. Если значения ключей сортировки двух строк сов-
              падают, строки упорядочиваются с учетом всех символов.

      ПРИМЕРЫ
              1.  Отсортировать  файл  f1, используя в качестве ключа
              второе поле:

                   sort  +1 -2 f1

              2. Отсортировать по убыванию содержимое файлов f2 и f3,
              поместив результат в файл f4. Ключом сортировки  служит
              первый символ второго поля:

                   sort  -r -o f4 +1.0 -1.2 f2 f3

              3. Отсортировать по убыванию содержимое файлов f5 и f6.
              Ключом сортировки служит первый непробел второго поля:

                   sort  -r +1.0b -1.1b f5 f6

              4. Распечатать файл паролей [см. passwd(4)], отсортиро-
              вав его по числовым значениям идентификаторов пользова-
              телей (третье поле, поля разделяются символом :):

                   sort  -t: +2n -3 /etc/passwd

              5.  Распечатать  строки  уже отсортированного файла f7,
              выводя лишь первую из строк с одинаковыми третьими  по-
              лями:

                   sort  -um +2 -3 f7

      ФАЙЛЫ
              /usr/tmp/stm???

      СМ. ТАКЖЕ
              comm(1), join(1), uniq(1).

      ДИАГНОСТИКА
              При возникновении различных  ошибок  (например,  строка
              слишком длинная) и при  обнаружении  нарушений  порядка
              при запуске с опцией -c в стандартный протокол выдается
              соответствующее сообщение и  сортировка  завершается  с
              ненулевым кодом.

              Если в последней строке файла пропущен символ  возврата
              каретки, то он добавляется автоматически, о чем выдает-
              ся предупреждение.

      ПРЕДОСТЕРЕЖЕНИЯ
              Не гарантируется сохранение порядка следования строк  с
              равными ключами.

              Не оговаривается приоритет различных  способов  сравне-
              ния (например, числового и словарного),  поэтому  зада-
              вать комбинацию флагов dMn не имеет смысла.



 

 

Бернадинер Марк Абрамович

Мое резюме

Компьютерная страничка

Ресурсы сети

Фотоальбом

 

 

 

mark.zlatoust.ru Послать письмо Webmaster-у Web-Master © Бернадинер Марк