Unix Man (Справочное руководство)



SORT(1) - часть 3


При наложении ограничения на ключ сортировки указывается позиция начала ключа (+позиция_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)-ом поле.

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

ПРИМЕРЫ

  • Отсортировать файл f1, используя в качестве ключа второе поле:

    sort +1 -2 f1

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

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

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

    sort -r +1.0b -1.1b f5 f6

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

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

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

    sort -um +2 -3 f7

  • ФАЙЛЫ

    /usr/tmp/stm???

    СМ. ТАКЖЕ


    , , .

    ДИАГНОСТИКА


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

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

    ПРЕДОСТЕРЕЖЕНИЯ


    Не гарантируется сохранение порядка следования строк с равными ключами.

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

    /spellhist "исторический" файл /usr/lib/spell/spellprog программа

    СМ. ТАКЖЕ


    deroff(1), , , . eqn (1), tbl (1), troff (1) в руководстве DOCUMENTER'S WORKBENCH Software 2.0 Technical Discussion and Reference Manual.

    СЮРПРИЗЫ


    Эталонный список неполон; при новых реализациях, возможно, возникнет желание несколько месяцев обрабатывать выход системы, чтобы собрать отдельные добавления; обычно они помещаются в отдельный файл, который добавляется в хэшированный эталонный список через spellin.




    Содержание  Назад  Вперед