join (Unix)

Материал из Википедии — свободной энциклопедии
Перейти к навигацииПерейти к поиску
У этого термина существуют и другие значения, см.Join.

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].

Примечания

[править |править код]

См. также

[править |править код]

Литература

[править |править код]

Ссылки

[править |править код]
ПО
Этозаготовка статьи опрограммном обеспечении. Помогите Википедии, дополнив её.
В статье есть списокисточников, ноне хватаетсносок.
Без сносок сложноопределить, из какого источника взято каждое отдельное утверждение. Вы можете улучшить статью, проставивсноски на источники, подтверждающие информацию. Сведения без сносокмогут быть удалены.(5 января 2016)
Перейти к шаблону «Команды Unix»
Команды Unix
Перейти к шаблону «POSIX.1-2008»
УтилитыPOSIX.1-2008
Источник —https://ru.wikipedia.org/w/index.php?title=Join_(Unix)&oldid=149903223
Категории:
Скрытые категории: