JOIN(1)

NAZWA
join - połącz linie dwóch plików według wspólnych pól

SKŁADNIA

join
    [-a 1|2] [-v 1|2] [-e łańcuch] [-i] [--ignore-case]
    [-o lista-pól...] [-t znak] [-j[1|2] pole]
    [-1 pole] [-2 pole] plik1 plik2

join
    [--help] [--version]

OPIS
Dokumentacja niniejsza nie jest już utrzymywana i może być niedokładna lub niekompletna. Autorytatywnym źródłem jest obecnie dokumentacja Texinfo. Dostęp do niej uzyskasz wpisując w wierszu poleceń:
    pinfo join
lub
    info join.

Ta strona podręcznika opisuje polecenie join w wersji GNU.

join wypisuje na standardowe wyjście linię dla każdej pary linii wejściowych o identycznych polach połączeniowych. Domyślnym polem połączeniowym jest pierwsze, separowane pustym znakiem. Każdą z nazw plików (ale nie obydwoma) może być '-', oznaczający standardowe wejście. plik1 oraz plik2 powinny zostać uprzednio posortowane w porządku rosnącym (nie numerycznie) według pól połączeniowych, z zastosowaniem porządku znaków określonego ustawieniem narodowym LC_COLLATE. Sortowanie winno być wykonane z pominięciem znaków pustych na początku pola połączeniowego, tak jak działa sort z podaną opcją -b, chyba że podano opcję -t, zmieniającą znak rozdzielający pola. Jeżeli podano opcję --ignore-case, linie powinny być posortowane bez rozróżniania wielkości znaków w polu połączeniowym, jak w sort -f.

Pola numerowane są od 1. Wartości domyślne to: pola połączeniowe są pierwszymi polami w każdej linii; pola w wejściu rozdzielone są jednym lub więcej znakami pustymi; znaki puste zaczynające linię są ignorowane (chyba że jawnie podano separator pól); pola w wyjściu rozdzielone są spacją; każda linia wyjścia składa się z pola połączeniowego, pozostałych pól z plik1, a potem pozostałych pól z plik2.

OPCJE

-a numer-pliku
    Oprócz normalnego wyjścia, wypisuje też niesparowane linie z pliku numer-pliku (1 albo 2).

-e łańcuch
    Zastępuje puste pola wynikowe (te, których brakuje na wejściu) łańcuchem.

-i, --ignore-case
    Ignoruje różnice między małymi i dużymi literami przy porównywaniu pól. Pola wejściowe muszą być wówczas uporządkowane według tej samej reguły.

-1, -j1 pole
    Łączy według pola pole (dodatnia liczba całkowita) pliku 1

-2, -j2 pole
    Łączy według pola pole (dodatnia liczba całkowita) pliku 2

-j pole
    Równoważne -1 pole -2 pole.

-o lista-pól...
    Konstruuje każdą linię wyjścia według formatu zawartego w liście-pól. Każdy element listy jest albo pojedynczym znakiem '0' albo ma postać M.N, gdzie M to numeru pliku (1 albo 2), zaś N - numer pola (liczba naturalna). Element '0' odpowiada polu połączeniowemu. W większości przypadków funkcjonalność specyfikacji '0' można zastąpić użyciem bezpośredniego zapisu M.N, odpowiedniego dla pola połączeniowego. Jednak przy wydruku linii niesparowanych (użycie opcji -a lub -v) nie można w żaden sposób określić takiego pola przez użycie M.N w liście pól jeżeli linie niesparowane występują w obu plikach. Dla uzyskania takiej funkcjonalności join POSIX wynalazł notację '0'. Elementy listy pól oddzielone są przecinkami lub znakami pustymi. Można podawać wielokrotne argumenty lista-pól po jednej opcji -o; wartości wszystkich list podanych po -o są łączone razem. Zadana lista pól jest stosowana do wszystkich linii wyjściowych - także tworzonych wskutek działania opcji -a czy -v.

-t znak
    Używa znaku znak jako separatora pól wejścia i wyjścia.

-v numer-pliku
    Wypisuje tylko niesparowane linie z pliku numer-pliku (1 albo 2), zamiast normalnego wyjścia. Jak opcja -a, ale eliminuje wspólne, połączone linie wynikowe.

Dodatkowo, kiedy GNU join wywoływane jest z dokładnie jednym argumentem, rozpoznawane są następujące opcje:

--help
    Wyświetla informację o stosowaniu programu i dostępnych opcjach, kończy pracę.

--version
    Wyświetla numer wersji programu i kończy pracę.

ZGŁASZANIE BŁĘDÓW
Błędy proszę zgłaszać, w jęz. ang., do <bug-textutils@gnu.org>.

COPYRIGHT
Copyright © 1999 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

ZOBACZ TAKŻE
cut(1), paste(1), textutils(1).

OD TŁUMACZA
Zaktualizowano i poszerzono wg dokumentacji Texinfo dla narzędzi tekstowych GNU wersji 2.0.