D3 Reference Manual

Index | Help

Поиск по страницам

Разделы / Команды системы (TCL) / compare-list

compare-list

Выполняет логические операции с списками

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

compare-list {file.reference.a} list.a {operator}
 {file.reference.b} list.b {file.reference.c} {list.c} {(options)}

или, если оба исходных списка уже активны:

compare-list {operator} {list.c} {(options}

"compare-list" выполняет операцию (&, #, =, +, или -) со списками "list.a" и "list.b" и создает новый список "list.c". Если список "list.c" не задан, то результат будет помещен в "list.a".

Операторы и их назначение:

s
& Операция "И" или "исключение". Идентификаторы записей, заносимые в результат, должны присутствовать в обоих исходных списках.
# Операция "НЕ" или "исключение". Идентификаторы записей, заносимые в результат, НЕ должны находиться в обоих исходных списках одновременно.
= Операция "ИЛИ" или "объединение". Идентификаторы записей, заносимые в результат, могут находиться в любом из исходных списков.
+ Добавление списка "list.b" в конец списка "list.a" (list.a + list.b)
- Удаление идентификаторов записей, содержащихся в списке "list.b" из списка "list.a". (list.a - list.b)
g Выполнение "get-list" для "list.c". (После завершения процесса список "list.c" становится активным).
Генерация и вывод статистических данных о записях, выбранных во время процесса.

Опции:

? Вывод на экран текста помощи.

Примеры:

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

list1       list2
001 cat     001 banana
002 dog     002 apple
003 banana  003 orange
compare-list list1 + list2

Так как список "list.c" не указан, список "list1" перезапишется и будет содержать "banana", "cat", "dog", "apple", "banana" и "orange".

compare-list list1 + list2 list3

Этот пример такой же, как первый, но результирующий список сохраняется в "list3". "list1" и "list2" остаются без изменения.

compare-list list1 # list2 list3

Эта команда создает "list3", который содержит "apple", "cat", "dog" и "orange", так как ни одна из этих записей не присутствует одновременно в обоих исходных списках. Списки "list1" и "list2" остаются без изменения.

compare-list list1 = list2 list3 (gs
list2 list1 list3 Sort time - faster than a speeding second.
3     3     5     Duty time - faster than a speeding second.
[404] 5 items selected out of 1 items.

В этом примере создается и активируется список "list3", который содержит "apple", "banana", "cat", "dog" и "orange", т.е. уникальные строки из обоих списков "list1" и "list2". "list1" и "list2" остаются без изменения.

compare-list list1 - list2 list3

В этом примере создается список "list3", который будет содержать "cat" и "dog". Эти строки содержатся в "list1", но не содержатся в "list2". "list1" и "list2" остаются без изменения.

compare-list list1 & list2 list3

В этом примере создается список "list3", который будет содержать "banana", так как это единственная строка, содержащаяся в обоих исходных списках. "list1" и "list2" остаются без изменения.