Ero sivun ”Join” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
(kuvaus; esimerkkejä, joissa tärkeimmät valitsimet)
(ei mitään eroa)

Versio 13. maaliskuuta 2008 kello 20.10

join on komento joka yhdistää tiedostojen samalla merkkijonolla alkavia rivejä tai rivejä, joissa samansisältöinen kenttä.

Esimerkkejä käytöstä

Yhdistä kahden tiedoston tiedot välilyöntiin loppuvan alun perusteella niin, että kolmanteen tiedostoon tulee alku, loput ensimmäisen tiedoston rivistä ja loput toisen tiedoston rivistä, välilyönnillä erotettuina. Pienet ja isot kirjaimet käsitellään samanarvoisina (-i), lokaalitietoa hyödyntäen. Tiedostojen rivien tulee olla järjestyksessä:

join -i tiedosto-1 tiedosto-2 > tiedosto-3

Hae tiedostoista passwd ja group tieto käyttäjien käytäjätunnuksesta ja ensisijaisen ryhmän nimestä:

sort -t : -k 3g /etc/group > group.tmp
sort -t : -k 4g /etc/passwd | \
 join -t ":" -1 3 -2 4 -o 1.1,2.1 group.tmp - \
 > usergroups.list

Tässä siis tiedostot järjestetään gid-kentän perusteella, group-tiedoston osalta väliaikaistiedostoon. Rivien kentät erotetaan kaksoispisteellä (-t :), gid-kenttä on kolmantena group- ja neljäntenä passwd-tiedostossa ("-" eli vakiosyöte), rivit järjestetään numeerisen arvon mukaan (-k 3g, -k 4g). Listaan otetaan kummastakin tiedostosta ensimmäinen kenttä (1.1 ja 2.1).

Muilla valitsimilla voi esimerkiksi valita mitä tehdä puuttuville kentille tai riveille.

Katso myös