Liity (Unix)

join- UNIX-tyyppisten käyttöjärjestelmien  komento , joka yhdistää kahden järjestetyn tekstitiedoston rivit yhteisen kentän olemassaolon perusteella . Sen toiminnallisuus on samanlainen kuin SQL -kielessä käytetty Join -operaattori , mutta se toimii tekstitiedostoilla. Tämän apuohjelman on kirjoittanut Mike Haertel . 

Yleiskatsaus

Komento joinsyöttää kaksi tekstitiedostoa ja useita argumentteja. Jos komentoriviargumentteja ei anneta, tämä komento etsii rivipareja kahdesta tiedostosta, joilla on vastaava ensimmäinen kenttä (ei-välilyöntien merkkijono) ja tulostaa merkkijonon, joka koostuu ensimmäisestä kentästä ja molempien rivien sisällöstä. .

Ohjelman argumentit määrittävät, mitä merkkiä käytetään välilyönnin sijaan erottelemaan merkkijonon kentät, mikä tarkistetaan, kun etsitään vastaavia merkkijonoja, ja tulostetaanko yhteensopimattomia merkkijonoja vai ei. Voit tulostaa tiedot kolmanteen tiedostoon uudelleenohjauksen avulla .

Syntaksi

Yksinkertaistettu syntaksi voidaan esittää seuraavasti:

liity [valinnat] tiedosto1 tiedosto2

Jos "-" on määritetty yhdeksi tiedostoista (mutta ei molempia kerralla!), niin vakiosyöte [1] luetaan tiedoston sijaan . Tiedostot on lajiteltava nousevaan ASCII-leksikografiseen järjestykseen yhteyskenttien mukaan (yleensä jokaisen rivin ensimmäisen kentän mukaan). Toiminnon tuloksena saadaan rivejä, yksi kullekin tiedosto1- ja tiedosto2-suhteiden riviparille, joilla on samat liitoskentät. Tyypillisesti tulosmerkkijono koostuu yhteisestä kentästä, sitten lopusta tiedosto1-relaatiomerkkijonosta ja sitten lopusta tiedosto2-relaatiomerkkijonosta. Oletusarvoisesti tulosteen erotin on välilyönti. Tavallisissa kenttäerottimissa lajittelujärjestys ei huomioi alkuvälilyöntejä. Jos vaihtoehto on annettu -t, kaikki merkit ovat merkityksellisiä. Jos tiedostonimi koostuu numeroista, se voi olla vuorovaikutuksessa -ovälittömästi tiedostoargumentteja edeltävän valinnan kanssa [2] .

Esimerkki

Otetaan esimerkkinä seuraavat kaksi tiedostoa.

Tiedosto 1:

rivi1 teksti1 rivi2 teksti2

Tiedosto 2:

rivi1 teksti11 rivi3 teksti3

Komento join(ilman lisäparametreja) tuottaa seuraavan tuloksen:

rivi1 teksti1 teksti11

Tämä johtuu siitä, että vain sana "line1" esiintyi molemmissa tiedostoissa rivin ensimmäisenä sanana.

Lisenssi ja jakelu

Tämän ohjelman omistaa Free Software Foundation, ja sitä jaetaan ilman takuuta GNU General Public License [1] -lisenssin alaisena vapaana ohjelmistona .

Muistiinpanot

  1. 1 2 join(1 ) - Linux-man page Arkistoitu 1. marraskuuta 2010 Wayback Machinessa  
  2. Unix-käsikirja arkistoitu 4. maaliskuuta 2016 Wayback Machinessa  (venäjäksi)

Katso myös

Kirjallisuus

Linkit