НАЗВАНИЕ
join - оператор реляционной базы данных
СИНТАКСИС
join [-aномер_файла] [-eцепочка_символов] [-j[номер_файла] номер_поля] [-o список] [-tсимвол] файл1 файл2
ОПИСАНИЕ
Команда join выдает на стандартный вывод результат соединения двух отношений, задаваемых строками файла1 и
файла2. Если вместо файла1 стоит -, то используется
стандартный ввод.
Отношения файл1 и файл2 должны быть отсортированы в возрастающем лексикографическом порядке [см. sort(1)], согласно кодировке ASCII, по полям соединения (обычно по первому полю в каждой строке).
Результат операции составляют строки, по одной для каждой пары строк из отношений файл1 и файл2, которые имеют одинаковые поля соединения. Обычно строка результата состоит из общего поля, затем остатка строки отношения файл1, затем остатка строки отношения файл2.
Как правило, поля разделяются символами пробела, табуляции или перевода строки. В этом случае несколько последовательных разделителей интерпретируются как один и начальные разделители отбрасываются. Подразумеваемым разделителем при выводе информации является пробел.
Допустимы следующие опции:
ПРИМЕР
Следующая командная строка выполняет соединение файла
паролей и файла групп, сравнивая числовой идентификатор
группы, и выдает входное имя, имя группы и основной каталог. Предполагается, что оба файла отсортированы в
порядке возрастания идентификаторов групп.
join -j1 4 -j2 3 -o 1.1 2.1 1.6 -t: /etc/passwd \ /etc/group
СМ. ТАКЖЕ
awk(1), comm(1), sort(1), uniq(1).
СЮРПРИЗЫ
В случае стандартных разделителей полей последовательность упорядочения такая же, как в команде sort -b, то
есть начальные пробелы игнорируются. Если задана опция
-t, все символы являются значимыми.
Соглашения команд join, sort(1), comm(1), uniq(1) и awk(1) совершенно различны.
Если имя файла состоит из цифр, оно может провзаимодействовать с опцией -o, стоящей непосредственно перед аргументами-файлами