join - o comandă a sistemelor de operare asemănătoare UNIX care combină liniile a două fișiere text ordonate pe baza prezenței unui câmp comun . Funcționalitatea sa este similară cu operatorul Join folosit în limbajul SQL , dar operează pe fișiere text. Acest utilitar a fost scris de Mike Haertel .
Comanda joinpreia două fișiere text și un număr de argumente ca intrare. Dacă nu sunt date argumente de linie de comandă , atunci această comandă caută perechi de linii în două fișiere care au un prim câmp care se potrivește (o secvență de caractere fără spații albe) și emite un șir format din primul câmp și conținutul ambelor linii. .
Argumentele programului determină ce caracter va fi folosit în locul unui spațiu pentru a separa câmpurile șirului de caractere, care va fi verificat atunci când se caută șiruri de caractere potrivite și dacă să scoată șiruri nepotrivite sau nu. Puteți scoate date într-un al treilea fișier folosind redirecționarea .
Sintaxa simplificată poate fi reprezentată după cum urmează:
alăturați [opțiuni] fișier1 fișier2Dacă „-” este specificat ca unul dintre fișiere (dar nu ambele simultan!), atunci intrarea standard [1] este citită în loc de fișierul . Fișierele trebuie sortate în ordine lexicografică ASCII crescătoare, pe câmpuri de conexiune (de obicei după primul câmp de pe fiecare linie). Rezultatul operației sunt rânduri, câte unul pentru fiecare pereche de rânduri din relațiile fișier1 și fișier2 care au aceleași câmpuri de unire. De obicei, șirul rezultat constă din câmpul comun, apoi restul șirului de relație fișier1, apoi restul șirului de relație fișier2. În mod implicit, separatorul de ieșire este un spațiu. Pentru separatoarele de câmp standard, secvența de colare nu respectă spațiile de început. Dacă opțiunea este dată -t, atunci toate caracterele sunt semnificative. Dacă numele fișierului este format din numere, acesta poate interacționa cu opțiunea -oimediat înaintea argumentelor fișierului [2] .
Ca exemplu, luați următoarele două fișiere.
Fișierul 1:
linia 1 text1 linia 2 text2Fișierul 2:
linia 1 text11 linia 3 text3Comanda join(fără parametri suplimentari trecuți) va produce următorul rezultat:
linia1 text1 text11Acest lucru se datorează faptului că doar cuvântul „line1” a apărut în ambele fișiere ca primul cuvânt al liniei.
Acest program este deținut de Free Software Foundation și este distribuit fără nicio garanție ca software gratuit sub Licența Publică Generală GNU [1] .
Comenzi Unix | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
|