JOIN(1)

НАИМЕНОВАНИЕ
join — объединить строки из двух файлов по общему полю

ОБЗОР
join [ПАРАМЕТР]... ФАЙЛ1 ФАЙЛ2

ОПИСАНИЕ

Для каждой пары входных строк с одинаковыми значениями поля, по которому происходит объединение, вывести строку в стандартный поток вывода. По умолчанию объединение происходит по первому полю, отделённому пробелами.

Если ФАЙЛ1 или ФАЙЛ2 (но не оба одновременно) заданы как -, читать из стандартного потока ввода.

-a НОМЕР_ФАЙЛА
    также выводить не имеющие пары строки из файла НОМЕР_ФАЙЛА, где НОМЕР_ФАЙЛА может принимать значения 1 или 2, что соответствует ФАЙЛ1 или ФАЙЛ2

-e СТРОКА
    заменять отсутствующие (пустые) поля во входных данных значением СТРОКА; имеются в виду отсутствующие поля, заданные параметрами «-12jo»

-i, --ignore-case
    игнорировать различия в регистре при сравнении полей

-j ПОЛЕ
    то же, что и «-1 ПОЛЕ -2 ПОЛЕ»

-o ФОРМАТ
    использовать ФОРМАТ при формировании выходной строки

-t СИМВОЛ
    использовать СИМВОЛ в качестве разделителя полей во входных и выходных данных

-v НОМЕР_ФАЙЛА
    то же, что и -a НОМЕР_ФАЙЛА, но без вывода объединённых строк

-1 ПОЛЕ
    объединять строки по заданному ПОЛЮ в файле 1

-2 ПОЛЕ
    объединять строки по заданному ПОЛЮ в файле 2

--check-order
    убедиться, что входные данные правильно отсортированы, даже если для каждой входной строки удаётся найти пару

--nocheck-order
    не проверять, отсортированы ли входные данные

--header
    воспринимать первую строку в каждом файле как заголовки полей, выводить содержимое этих строк, не пытаясь их сопоставить

-z, --zero-terminated
    разделять строки символом конца строки NUL вместо перевода на новую строку

--help
    отобразить эту справочную информацию и завершить работу

--version
    вывести информацию о версии и завершить работу

Если не указан параметр -t СИМВОЛ, ведущие пробелы считаются разделителями полей и игнорируются, в противном случае разделителем считается СИМВОЛ. Во всех случаях ПОЛЕ — это номер поля, отсчитываемый с 1. ФОРМАТ — это одно или несколько обозначений, разделённых запятыми или пробелами и представленных в виде «НОМЕР_ФАЙЛА.ПОЛЕ» или «0». При использовании ФОРМАТа по умолчанию выводится поле, по которому выполняется объединение, затем остальные поля из ФАЙЛ1, затем остальные поля из ФАЙЛ2; все поля разделяются заданным СИМВОЛом. Если в качестве ФОРМАТа указано ключевое слово «auto», количество выводимых в каждой строке полей определяется первой строкой в каждом из файлов.

Важно: ФАЙЛ1 и ФАЙЛ2 должны быть отсортированы по полям, по которым осуществляется объединение. Например, используйте «sort -k 1b,1», если вызываете «join» без параметров, или используйте «join -t ''», если вызываете «sort» без параметров. При сравнении соблюдаются правила, заданные переменной «LC_COLLATE». Если входные данные не отсортированы и некоторые строки не удаётся объединить, будет выдано сообщение с предупреждением.

АВТОРЫ
Программа написана Майком Хэртелом (Mike Haertel).

ИНФОРМАЦИЯ ОБ ОШИБКАХ
Онлайн-справка GNU coreutils: <https://www.gnu.org/software/coreutils/>
Сообщайте обо всех ошибках перевода по адресу <https://translationproject.org/team/ru.html>

АВТОРСКИЕ ПРАВА
Copyright © 2025 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
Это свободное программное обеспечение: вы можете изменять и распространять его. Не предоставляется НИКАКИХ ГАРАНТИЙ в той мере, в которой это разрешено законом.

СМОТРИТЕ ТАКЖЕ
comm(1), uniq(1)

Полная документация на <https://www.gnu.org/software/coreutils/join>,
также доступна локально посредством info '(coreutils) join invocation'

ПЕРЕВОД
Русский перевод этой страницы руководства разработал(и) Андрей Догадкин <adogadkin@outlook.com> и Kirill Rekhov <krekhov.dev@gmail.com>

Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков (<debian-l10n-russian@lists.debian.org>).