join -- оператор соединения в реляционных базах данных

Версия для печатиОтправить другуPDF version
JOIN(1)               Справочник основных команд FreeBSD               JOIN(1)

НАЗВАНИЕ
     join -- оператор соединения в реляционных базах данных
СИНТАКСИС
     join [-a номер_файла | -v номер_файла] [-e строка] [-o список]
          [-t символ] [-1 номер_поля] [-2 номер_поля] файл1 файл2

ОПИСАНИЕ
     Утилита join выполняет так называемое ``соединение по равенству'' указан-
     ных файлов и пишет результат в стандартный вывод.  ``Поле соединения'' --
     это поле внутри каждого файла, по которому они сравниваются.  По умолча-
     нию используется первое поле каждой строки.  Для каждой пары строк из
     файлов файл1 и файл2 с одинаковыми полями соединения выводится одна
     строка.  Каждая выводимая строка состоит из поля соединения, остальных
     полей из файла файл1 и остальных полей из файла файл2.
     Разделителями полей по умолчанию служат символы пробела и табуляции.  В
     этом случае несколько идущих подряд пробелов и табуляций считаются одним
     разделителем, а пробелы и табуляции в начале строки игнорируются.  Разде-
     лителем полей на выходе по умолчанию является одиночный пробел.

     Многие опции используют номера файлов и полей.  Нумерация файлов и полей
     начинается с единицы, т.е. первый файл в командной строке имеет номер 1,
     и первое поле также имеет номер 1.  Имеются следующие опции:
     -a номер_файла
             В дополнение к обычному выводу, вывести строки файла номер_файла,
             которым не нашлось соответствия в другом файле.

     -e строка
             Заменять пустые поля в выводимых строках значением аргумента
             строка.
     -o список
             Указать поля строк исходных файлов, из которых формируются выво-
             димые строки.  Каждый элемент списка список должен быть представ-
             лен либо в форме номер_файла.номер_поля, либо как `0' (ноль), что
             означает поле соединения.  Элементы списка должны быть разделены
             либо запятыми (`,'), либо пробельными символами.  (Во втором слу-
             чае список следует взять в кавычки, чтобы предотвратить разбиение
             его командной оболочкой на несколько аргументов, либо использо-
             вать несколько опций -o.)

     -t символ
             Использовать указанный символ в качестве разделителя (как на
             входе, так и на выходе).  Учитывается каждое вхождение символа
             символ в строку исходного файла.
     -v номер_файла
             Не выводить обычный результат соединения, а вместо этого вывести
             строки файла номер_файла, которым не нашлось соответствия в дру-
             гом файле.  Можно одновременно использовать опции -v 1 и -v 2.

     -1 номер_поля
             Соединять по полю номер_поля файла файл1.
     -2 номер_поля
             Соединять по полю номер_поля файла файл2.

     Если в качестве разделителя полей используются стандартные символы, то
     соединяемые файлы должны быть предварительно отсортированы по полям
     соединения так, как это делает sort(1) с опцией -b, иначе join может не
     найти все совпадающие поля.  Если символы разделителя заданы опцией -t,
     строки должны быть отсортированы так, как это делает sort(1) без опции
     -b.
     Если один из аргументов файл1 или файл2 задан как `-', для него будет
     использоваться стандартный ввод.

СТАТУС ЗАВЕРШЕНИЯ
     Утилита join возвращает 0 в случае успешного завершения и >0 в случае
     возникновения ошибки.
СОВМЕСТИМОСТЬ
     Для совместимости со старыми версиями join также имеются следующие опции:

     -a      В дополнение к обычному выводу, вывести строки обоих исходных
             файлов, которым не нашлось соответствия в другом файле.
     -j1 номер_поля
             Соединять по полю номер_поля файла файл1.

     -j2 номер_поля
             Соединять по полю номер_поля файла файл2.
     -j номер_поля
             Соединять по полю номер_поля обоих файлов, файл1 и файл2.

     -o список ...
             Ранние реализации команды join допускали указание сразу несколь-
             ких аргументов с опцией -o.  Эти аргументы были в формате
             номер_файла.номер_поля, как описано выше.  Это создаёт очевидные
             трудности при наличии файлов с именами вроде 1.2.
     Эти опции не должны использоваться, и доступны лишь для того, чтобы ста-
     рые командные сценарии продолжали работать и не требовали изменения.

СМОТРИ ТАКЖЕ
     awk(1), comm(1), paste(1), sort(1), uniq(1)
СТАНДАРТЫ
     Команда join соответствует стандарту IEEE Std 1003.1-2001 (``POSIX.1'').

FreeBSD 6.2                       5 июля 2004                      FreeBSD 6.2
Голосов пока нет

Вставай, Україно!

Литература

Гарри Каспаров наконец-то выиграл у компьютера, и с двумя очками и тремя жизнями перешёл на следующий уровень.