Це команда joinposix, яку можна запустити в постачальнику безкоштовного хостингу OnWorks за допомогою однієї з наших численних безкоштовних робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS
ПРОГРАМА:
ІМ'Я
join — оператор реляційної бази даних
СИНТАКСИС
приєднатися [−а номер_файлу|−v номер_файлу] [−e рядок] [−o список] [−t бак]
[-1 поле] [-2 поле] file1 file2
ОПИС
Команда приєднатися Утиліта повинна виконати об'єднання за рівність для файлів file1 та file2. Приєднався
файли повинні бути записані на стандартний вихід.
Поле приєднання – це поле в кожному файлі, у якому порівнюються файли. The приєднатися утиліта
повинен записати один рядок у вихідні дані для кожної пари рядків у file1 та file2 що є
однакові поля приєднання. Рядок виведення за замовчуванням має складатися з поля об’єднання
решта полів від file1, потім поля, що залишилися від file2. Цей формат може бути
змінено за допомогою −o варіант (див. нижче). The −а параметр можна використовувати для додавання невідповідних
рядків до виходу. The −v параметр можна використовувати для виведення лише невідповідних рядків.
Файли file1 та file2 впорядковуватися в послідовності зіставлення сортувати −b на
поля, на яких вони будуть об’єднані, за замовчуванням перше в кожному рядку. Усі вибрані
вихідні дані повинні бути записані в тій самій послідовності зіставлення.
Роздільники полів введення за замовчуванням мають бути символів. У цьому випадку множинні
роздільники враховуються як один роздільник полів, а провідні роздільники ігноруються.
Роздільник поля виведення за замовчуванням має бути a .
Роздільник полів і послідовність сортування можна змінити за допомогою −t варіант (див
нижче).
Якщо один і той же ключ з’являється більше одного разу в будь-якому файлі, усі комбінації набору
залишилися поля в file1 і набір полів, що залишилися в file2 виводяться в порядку
зустрічаються ліній.
Якщо вхідні файли не розташовані у відповідній послідовності зіставлення, результати є
невизначений.
ВАРІАНТИ
Команда приєднатися утиліта повинна відповідати тому Base Definitions POSIX.1-2008, розділ
12.2, Утиліта синтаксис керівні вказівки.
Підтримуються такі варіанти:
−а номер_файлу
Створіть рядок для кожного непарного рядка у файлі номер_файлу, Де номер_файлу
дорівнює 1 або 2, на додаток до вихідних даних за замовчуванням. Якщо обидва −а1 і −авказано 2,
повинні бути виведені всі непарні рядки.
−e рядок Замінити порожні поля виводу в списку, вибраному −o зі струною рядок.
−o список Побудуйте рядок виведення, який містить поля, зазначені в список, кожен елемент
з яких має мати одну з наступних двох форм:
1. номер_файлу.поле, Де номер_файлу є номером файлу і поле є десятковим
номер цілого поля
2. 0 (нуль), що представляє поле приєднання
Елементи список буде або -відокремлені або -відокремлений, як
зазначено в Настанові 8 Тому базових визначень POSIX.1-2008, розділ
12.2, Утиліта синтаксис керівні вказівки. Поля, зазначені в список має бути написано
для всіх вибраних вихідних рядків. Поля, вибрані за допомогою список які не відображаються в
вхідні дані повинні розглядатися як порожні поля виведення. (Див −e варіант.) Тільки
повинні бути написані спеціально запитані поля. Заявка має забезпечити
Що список є одним аргументом командного рядка.
−t бак Використовуйте характер бак як роздільник, як для входу, так і для виходу. Кожна поява
of бак в рядку має бути значущим. Коли ця опція вказана,
послідовність зіставлення повинна бути такою ж, як сортувати без того −b варіант.
−v номер_файлу
Замість вихідних даних за замовчуванням створіть рядок лише для кожного непарного рядка
номер_файлу, Де номер_файлу дорівнює 1 або 2. Якщо обидва −v1 і −vВказано 2, усі
повинні бути виведені непарні лінії.
-1 поле Приєднуйтесь до полеth поле файлу 1. Поля – це цілі десяткові числа, які починаються з
1.
-2 поле Приєднуйтесь до полеth поле файлу 2. Поля – це цілі десяткові числа, які починаються з
1.
ОПЕРАНДИ
Підтримуються такі операнди:
file1, file2
Шлях до файлу, який потрібно приєднати. Якщо будь-який з file1 or file2 операнди є
'−', замість нього має використовуватися стандартний вхід.
STDIN
Стандартний вхід повинен використовуватися, лише якщо file1 or file2 операнд є '−'. Дивіться ВХОД
розділ ФАЙЛИ.
ВХІД ФАЙЛИ
Вхідні файли мають бути текстовими файлами.
НАВКОЛИШНЄ СЕРЕДОВИЩЕ ЗМІННІ
Наступні змінні середовища мають впливати на виконання приєднатися:
МОВА Надайте значення за замовчуванням для змінних інтернаціоналізації, які не встановлені або
нуль. (Дивіться том Base Definitions POSIX.1-2008, розділ 8.2,
Internationalization Змінні за пріоритет інтернаціоналізації
змінні, що використовуються для визначення значень категорій мовного стандарту.)
LC_ALL Якщо встановлено не порожнє значення рядка, замініть значення всіх інших
змінні інтернаціоналізації.
LC_COLLATE
Визначте місце розташування послідовності зіставлення приєднатися очікує, що був використаний
коли вхідні файли були відсортовані.
LC_CTYPE Визначте локаль для інтерпретації послідовностей байтів текстових даних
як символи (наприклад, однобайтові на відміну від багатобайтових символів у
аргументи та вхідні файли).
LC_MESSAGES
Визначте місцевий стандарт, який слід використовувати для впливу на формат і вміст
діагностичні повідомлення, записані у стандартну помилку.
NLSPATH Визначте розташування каталогів повідомлень для обробки LC_MESSAGES.
АСИНХРОННИЙ ПОДІЇ
За замовчуванням.
ВИСТАВКА
Команда приєднатися Вихід утиліти має бути конкатенацією вибраних символьних полів. Коли
−o параметр не вказано, вихід має бути:
"%s%s%s\n", <приєднатися поле>,інший file1 поля>,
<інший file2 поля>
Якщо поле приєднання не є першим полем у файлі,інший файл поля> для цього файлу
має бути:
<поля попередній приєднатися поле>,поля після приєднатися поле>
Коли −o вказано параметр, формат виведення має бути таким:
"%s\n", <конкатенація of поля>
де конкатенація полів описується −o варіант, вище.
Для будь-якого формату кожне поле (крім останнього) має бути записане з його закінченням
роздільний символ. Якщо роздільник є за замовчуванням ( персонажів), одиночний
пишеться після кожного поля (крім останнього).
STDERR
Стандартна помилка повинна використовуватися лише для діагностичних повідомлень.
ВИХІД ФАЙЛИ
Ні.
ПОВЕРНЕНІ ОПИС
Ні.
EXIT СТАТУС
Повинні бути повернуті такі вихідні значення:
0 Усі вхідні файли виведено успішно.
>0 Сталася помилка.
НАСЛІДКИ OF ПОМИЛКИ
За замовчуванням.
Команда після розділам він має інформативний.
ЗАСТОСУВАННЯ ВИКОРИСТАННЯ
Шляхи, що складаються з числових цифр або у формі рядок.рядок не повинно бути
зазначено безпосередньо після −o список
ПРИКЛАДИ
Команда −o Поле 0 по суті вибирає об'єднання полів об'єднання. Наприклад, заданий файл
телефон:
!Ім'я Телефони Номер
Дон +1 123-456-7890
Хел +1 234-567-8901
Ясуші +2 345-678-9012
і файл факс:
!Ім'я факс Номер
Дон +1 123-456-7899
Кит +1 456-789-0122
Ясуші +2 345-678-9011
(де великі простори білого простору призначені для кожного з них є єдиним ), то
команда:
приєднатися −t " " −а 1 −а 2 −e '(невідомо)' −o 0,1.2,2.2 телефон факс
дасть:
!Ім'я Телефони Номер факс Номер
Дон +1 123-456-7890 +1 123-456-7899
Хел +1 234-567-8901 (невідомо)
Кит (невідомо) +1 456-789-0122
Ясуші +2 345-678-9012 +2 345-678-9011
Кілька екземплярів одного ключа дадуть комбінаторні результати. Наступні:
фа:
a x
a y
a z
fb:
a p
буде виробляти:
a x p
a y p
a z p
І наступне:
фа:
a b c
a d e
fb:
a w x
a y z
a o p
буде виробляти:
a b c w x
a b c y z
a b c o p
a d e w x
a d e y z
a d e o p
ОБГОВОРЕННЯ
Команда −e Опція ефективна лише тоді, коли використовується з −o тому що, за винятком конкретних полів
ідентифіковані за допомогою −o, приєднатися не знає, які поля можуть бути порожніми. Виняток до
це поле приєднання, але ідентифікує порожнє поле приєднання за допомогою −e рядка немає
історична практика та деякі сценарії можуть зламатися, якщо це змінити.
Поле 0 у −o Список був узятий з десятого видання версії приєднатися задовільняти
міжнародні заперечення щодо того приєднатися в базових документах не підтримує ``повний
join'' або ``зовнішнє з'єднання'', описані в літературі з реляційних баз даних. Хоча це було
можна включити поле приєднання до виводу (за замовчуванням або за номером поля за допомогою −o),
поле приєднання не може бути включено для непарного рядка, вибраного користувачем −а, −o 0 поле
по суті вибирає об'єднання полів об'єднання.
Таке зовнішнє з’єднання було неможливим з приєднатися команди в базових документах. The
−o Поле 0 було вибрано, оскільки воно є зміною, сумісною з версією додатків. An
розглядався альтернативний варіант: щоб поле об'єднання представляло об'єднання полів у
файли (де вони ідентичні для збіганих рядків, а один або обидва є нульовими для невідповідних
лінії). Це не було прийнято, оскільки це порушило б деякі історичні програми.
Можливість конкретизувати file2 as - не є історичною практикою; це було додано для
повноти.
Команда −v Варіант не є історичною практикою, але вважався необхідним, оскільки він
дозволено написати тільки ті рядки, які не збігаються на полі з’єднання, навпаки
до −а параметр, який друкує обидва рядки, які відповідають і не збігаються. Це додаткове
об'єкт паралельно з −v можливість GREP.
Були зустрічаються деякі історичні реалізації, коли в одному з порожніх рядків
вхідні файли вважалися кінцем файлу; опис у цьому томі
POSIX.1-2008 не вказує на це як на допустимий випадок.
Попередні версії цього стандарту дозволяли −j, −j1, −j2 варіанти та форма −o
варіант, який дозволив список параметр-аргумент бути кількома аргументами. Цих форм немає
довше визначено в POSIX.1-2008, але може бути присутнім у деяких реалізаціях.
Майбутнє НАПРЯМКИ
Ні.
Використовуйте joinposix онлайн за допомогою служб onworks.net