Lsort — различия между версиями
Deniska (обсуждение | вклад) (Новая: Команда сортирует элементы списка. '''СИНТАКСИС''' lsort ''?options? list'' '''ОПИСАНИЕ''' Данная команда сорти...) |
Deniska (обсуждение | вклад) |
||
Строка 33: | Строка 33: | ||
Сортировка в порядке убывания (от больших к меньшим). | Сортировка в порядке убывания (от больших к меньшим). | ||
− | -index ''index''<br /> | + | '''-index''' ''index''<br /> |
Эта опция может использоваться, если каждый из элементов списка сам есть список (то есть '''list''' есть список списков). Опция позволяет отсортировать список по "одной из колонок", то есть по элементам подсписков с фиксированным индексом '''index'''. Значение аргумента '''index''', равное end, означает генерацию по последнему элементу подсписков. Например, команда | Эта опция может использоваться, если каждый из элементов списка сам есть список (то есть '''list''' есть список списков). Опция позволяет отсортировать список по "одной из колонок", то есть по элементам подсписков с фиксированным индексом '''index'''. Значение аргумента '''index''', равное end, означает генерацию по последнему элементу подсписков. Например, команда | ||
lsort -integer -index 1 {{First 24} {Second 18} {Third 30}} | lsort -integer -index 1 {{First 24} {Second 18} {Third 30}} |
Версия 11:13, 14 октября 2008
Команда сортирует элементы списка.
СИНТАКСИС
lsort ?options? list
ОПИСАНИЕ
Данная команда сортирует элементы списка list и возвращает новый список с уже упорядоченными элементами. По умолчанию используется сортировка в порядке возрастания символов в таблице ASCII. Кроме того, для управления процессом сортировки в команде можно указать произвольные из перечисленных ниже опций (допускаются уникальные сокращения).
-ascii
Упорядочивание в порядке возрастания символов в таблице ASCII. Значение по умолчанию.
-dictionary
Словарный режим. Тоже, что и -ascii, но со следующими отличиями:
- регистр не учитывается;
- если две строки содержат цифры, то числа сравниваются как целые, а не как символы ASCII.
Например, bigBoy окажется между bigbang и bigboy, а x10y между x9y и x11y.
-integer
Режим целых чисел, когда все элементы списка конвертируются в целые числа и при сравнении трактуются именно как целые числа.
-real
Режим чисел с плавающей запятой; этот режим аналогичен предыдущему и используется для действительных чисел.
-command command
Режим сортировки при помощи произвольной команды пользователя. Для сравнения двух элементов списка выполняется скрипт, состоящий из command и дополненный соответствующими элементами списка. Скрипт должен вернуть целое число, большее нуля, равное нулю, или меньшее нуля в зависимости от того, считается ли первый элемент больше второго, равен ему или меньше его.
-increasing
Сортировка в порядке возрастания (от меньших к большим). Это значение по умолчанию.
-decreasing
Сортировка в порядке убывания (от больших к меньшим).
-index index
Эта опция может использоваться, если каждый из элементов списка сам есть список (то есть list есть список списков). Опция позволяет отсортировать список по "одной из колонок", то есть по элементам подсписков с фиксированным индексом index. Значение аргумента index, равное end, означает генерацию по последнему элементу подсписков. Например, команда
lsort -integer -index 1 {{First 24} {Second 18} {Third 30}}
вернет
{Second 18} {First 24} {Third 30}
Эта опция значительно более эффективна для данной задачи, чем опция -command с соответствующей процедурой сравнения.
См. также
- set - присвоение
- putlog - вывод сообщения в лог-файл
- list - создание списка
- lrange - выборка нескольких элементов списка
- llength - длина списка
- linsert - вставка элементов в список
- lappend - дозапись списка элементами
- lindex - выборка элемента из списка
- lsearch - поиск элементов в списке
- lreplace - замена элементов в списке
- TCL.tk - lsort