WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте

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

Примечания

См. также

Литература

  • Shelley Powers. Unix Power Tools. — "O'Reilly Media, Inc.", 2003. — P. 417. ISBN 978-0-596-00330-2.

Ссылки

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии