Scroll to navigation

JOIN(1) Команды пользователя JOIN(1)

ИМЯ

join — объединить строки из двух файлов по общему полю

СИНТАКСИС

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

ОПИСАНИЕ

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

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

также выводить не имеющие пары строки из файла НОМЕР_ФАЙЛА, где НОМЕР_ФАЙЛА может принимать значения 1 или 2, что соответствует ФАЙЛ1 или ФАЙЛ2
заменять отсутствующие (пустые) поля во входных данных значением СТРОКА; имеются в виду отсутствующие поля, заданные параметрами «-12jo»
игнорировать различия в регистре при сравнении полей
то же, что и «-1 ПОЛЕ -2 ПОЛЕ»
использовать ФОРМАТ при формировании выходной строки
использовать СИМВОЛ в качестве разделителя полей во входных и выходных данных
то же, что и -a НОМЕР_ФАЙЛА, но без вывода объединённых строк
-1 ПОЛЕ
объединять строки по заданному ПОЛЮ в файле 1
-2 ПОЛЕ
объединять строки по заданному ПОЛЮ в файле 2
убедиться, что входные данные правильно отсортированы, даже если для каждой входной строки удаётся найти пару
не проверять, отсортированы ли входные данные
воспринимать первую строку в каждом файле как заголовки полей, выводить содержимое этих строк, не пытаясь их сопоставить
разделять строки символом конца строки NUL вместо перевода на новую строку
отобразить эту справочную информацию и завершить работу
вывести информацию о версии и завершить работу

Если не указан параметр -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 © 2023 Free Software Foundation, Inc. Лицензия GPLv3+: GNU GPL версии 3 или выше <https://gnu.org/licenses/gpl.ru.html>.
Это свободное программное обеспечение: вы можете изменять и распространять его. Не предоставляется НИКАКИХ ГАРАНТИЙ в той мере, в которой это разрешено законом.

СМОТРИТЕ ТАКЖЕ

comm(1), uniq(1)

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

ПЕРЕВОД

Русский перевод этой страницы руководства разработал Андрей Догадкин <adogadkin@outlook.com>

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

Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику по его адресу электронной почты или по адресу списка рассылки русских переводчиков.

март 2024 г. GNU coreutils 9.4