<!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN>
<html>
  <head>
    <title>lsort</title>
  </head>

  <body>
    <h1>lsort</h1>

    <p>Команда сортирует элементы списка.</p>

    <h2>СИНТАКСИС</h2> 

    <pre>
      <strong>lsort</strong> ?<em>options</em>? <em>list</em>
    </pre>

    <h2>ОПИСАНИЕ</h2> 

    <p>Данная команда сортирует элементы списка <em>list</em> и
      возвращает новый список с уже упорядоченными элементами. По
      умолчанию используется упорядочивание в порядке возрастания
      символов в таблице ASCII. Кроме того, для управления процессом
      сортировки в команде можно указать произвольные из перечисленных
      ниже опций (допускаются уникальные сокращения).</p>

    <dl>
      <dt><strong>-ascii</strong></dt>

      <dd>Упорядочивание в порядке возрастания символов в таблице
        ASCII. Значение по умолчанию.</dd>
      
      <dt><strong>-dictionary</strong></dt>

      <dd><p>Словарный режим. Тоже, что и <strong>-ascii</strong>, но со
	  следующими отличиями:</p>
	<ul>
	  <li>регистр не учитывается;</li>

	  <li>если две строки содержат цифры, то числа сравниваются
	  как целые, а не как символы ASCII.</li>
	</ul>
	<p>Например, <strong>bigBoy</strong> окажется между <strong>bigbang</strong> и <strong>
	  bigboy</strong>, а <strong>x10y</strong> между <strong>x9y</strong> и
	  <strong>x11y</strong>.</p>
	</dd>

      <dt><strong>-integer</strong></dt>

      <dd>Режим целых чисел, когда все элементы списка конвертируются
        в целые числа и при сравнении трактуются именно как целые
        числа.</dd>

      <dt><strong>-real</strong></dt>

      <dd>Режим чисел с плавающей запятой; этот режим аналогичен
        предыдущему и используется для действительных чисел.</dd>
      
      <dt><strong>-command</strong> <em>command</em></dt>

      <dd>Режим сортировки при помощи произвольной команды
        пользователя. Для сравнения двух элементов списка выполняется
        скрипт, состоящий из <em>command</em> и дополненный
        соответствующими элементами списка. Скрипт должен вернуть
        целое число, большее нуля, равное нулю, или меньшее нуля в
        зависимости от того, считается ли первый элемент больше
        второго, равен ему или меньше его.</dd>

      <dt><strong>-increasing</strong></dt>

      <dd>Сортировка в порядке возрастания (от меньших к большим).
        Это значение по умолчанию.</dd>

      <dt><strong>-decreasing</strong></dt>

      <dd>Сортировка в порядке убывания (от больших к меньшим).</dd>

      <dt><strong>-index</strong> <em>index</em></dt>

      <dd><p>Эта опция может использоваться, если каждый из элементов
        списка сам есть список (то есть <em>list</em> есть список
        списков). Опция позволяет отсортировать список по &quot;одной
        из колонок&quot;, то есть по элементам подсписков с
        фиксированным индексом <em>index</em>. Значение аргумента
        <em>index</em>, равное <strong>end</strong>, означает генерацию по
        последнему элементу подсписков. Например, команда</p>
        <pre>
	  lsort -integer -index 1 {{First 24} {Second 18} {Third 30}}
	</pre>

	<p>вернет <strong>{Second 18} {First 24} {Third 30}</strong>.</p>
	
	<p>Эта опция значительно более эффективна для данной задачи,
	  чем опция <strong>-command</strong> с соответствующей процедурой
	  сравнения.</p>
      </dd>
    </dl>
  </body>
</html>