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 .
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 .
Yksinkertaistettu syntaksi voidaan esittää seuraavasti:
liity [valinnat] tiedosto1 tiedosto2Jos "-" 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] .
Otetaan esimerkkinä seuraavat kaksi tiedostoa.
Tiedosto 1:
rivi1 teksti1 rivi2 teksti2Tiedosto 2:
rivi1 teksti11 rivi3 teksti3Komento join(ilman lisäparametreja) tuottaa seuraavan tuloksen:
rivi1 teksti1 teksti11Tämä johtuu siitä, että vain sana "line1" esiintyi molemmissa tiedostoissa rivin ensimmäisenä sanana.
Tämän ohjelman omistaa Free Software Foundation, ja sitä jaetaan ilman takuuta GNU General Public License [1] -lisenssin alaisena vapaana ohjelmistona .
Unix-komennot | ||||||||
---|---|---|---|---|---|---|---|---|
|