join (Unix)

join (Unix)

join — команда UNIX-подобных операционных систем, объединяющая строки двух упорядоченных текстовых файлов на основе наличия общего поля. По своему функционалу схоже с оператором JOIN, используемого в языке SQL для реляционных баз данных, но оперирует с текстовыми файлами. Данная команда (а точнее, программа) написана Майком Хертелем (англ. Mike Haertel).

Содержание

Обзор

Команда join принимает на входе два текстовых файла и некоторое число аргументов. Если не передаются никакие аргументы командной строки, то данная команда ищет пары строк в двух файлах, обладающие совпадающим первым полем (последовательностью символов, отличных от пробела), и выводит строку, состоящую из первого поля и содержимого обоих строк.

Аргументы программы определяют какой символ будет использован вместо пробела для разделения полей строки, которые будут проверяться при поиске совпадающих строк, а также выводить ли несовпвавшие строки или нет. Выводить данные можно в третий файл при помощи перенаправления.

Синтаксис

Упрощенно синтаксис можно представить следующим образом:

join [параметры] файл1 файл2

Если в качестве одного из файлов указано «-» (но не обоих сразу!), то в этом случае вместо файла считывается стандартный ввод[1]. Файлы должны быть отсортированы в возрастающем лексикографическом порядке согласно кодировке ASCII, по полям соединения (обычно по первому полю в каждой строке). Результат операции составляют строки, по одной для каждой пары строк из отношений файл1 и файл2, которые имеют одинаковые поля соединения. Как правило, строка результата состоит из общего поля, затем остатка строки отношения файл1, затем остатка строки отношения файл2. По умолчанию разделителем при выводе информации является пробел. В случае стандартных разделителей полей последовательность упорядочения не учитывает начальные пробелы. Если задана опция -t, то все символы являются значимыми. Если имя файла состоит из цифр, оно может провзаимодействовать с опцией -o, стоящей непосредственно перед аргументами-файлами[2].

Пример

В качестве примера можно взять два нижеследующих файла.

Файл 1:

строка1 текст1
строка2 текст2

Файл 2:

строка1 текст11
строка3 текст3

Команда join (без переданных дополнительных параметров) выдаст следующий результат:

строка1 текст1 текст11

Это вызвано тем, что только слово «строка1» встретилось в обоих файлах в качестве первого слова строки.

Лицензия и распространение

Данная программа находится в собственности Фонда свободного программного обеспечения и распространяется без каких-либо гарантий как свободное ПО по лицензии GNU General Public License[1].

Примечания

См. также

Ссылки



Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Полезное


Смотреть что такое "join (Unix)" в других словарях:

  • Join (Unix) — Pour les articles homonymes, voir Join. join est une commande POSIX qui permet de fusionner les lignes de deux fichiers ayant des champs communs. Il fonctionne comme les jointures des bases de données relationnelles mais pour des fichiers texte.… …   Wikipédia en Français

  • Join (Unix) — join is a command in Unix like operating systems that merges the lines of two sorted text files based on the presence of a common field. It is a sort of implementation of the join operator used in relational databases but operating on text… …   Wikipedia

  • join (Unix) — Pour les articles homonymes, voir Join. join est une commande POSIX qui permet de fusionner les lignes de deux fichiers ayant des champs communs. Elle réalise des jointures, au sens de l algèbre relationnelle, directement sur des fichiers texte.… …   Wikipédia en Français

  • Join — may refer to: * Join (law), to include additional counts or additional defendants on an indictment * Join (mathematics), a least upper bound in lattice theory * Join (relational algebra), a type of binary operator * Join (SQL), a SQL and… …   Wikipedia

  • Join — может относится к: Join (SQL) операция языка SQL и реляционных баз данных join (Unix) команда операционной системы Unix Joins (библиотека) API параллельных вычислений, разработанный Microsoft Research Joins.com веб сайт южнокорейской газеты… …   Википедия

  • Join-calculus (programming language) — In computer science, the join calculus is a programming language based on the identically named join calculus process calculus. It is implemented as an interpreter written in Ocaml, and supports statically typed distributed programming,… …   Wikipedia

  • UNIX — UNIX, parfois écrit « Unix », avec des petites capitales, est un système d exploitation multitâche et multi utilisateur créé en 1969, conceptuellement ouvert et fondé sur une approche par laquelle il offre de nombreux petits outils… …   Wikipédia en Français

  • Unix — (marque déposée officiellement comme UNIX, parfois aussi écrit comme Unix avec les petites capitalisations) est le nom d un système d exploitation multitâche et multi utilisateur créé en 1969, conceptuellement ouvert et fondé sur une approche par …   Wikipédia en Français

  • Système Unix — UNIX UNIX (marque déposée officiellement comme UNIX, parfois aussi écrit comme Unix avec les petites capitalisations) est le nom d un système d exploitation multitâche et multi utilisateur créé en 1969, conceptuellement ouvert et fondé sur une… …   Wikipédia en Français

  • Systèmes UNIX — UNIX UNIX (marque déposée officiellement comme UNIX, parfois aussi écrit comme Unix avec les petites capitalisations) est le nom d un système d exploitation multitâche et multi utilisateur créé en 1969, conceptuellement ouvert et fondé sur une… …   Wikipédia en Français


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»