Ero sivun ”Join” versioiden välillä
LP (keskustelu | muokkaukset) (kuvaus; esimerkkejä, joissa tärkeimmät valitsimet) |
pEi muokkausyhteenvetoa |
||
(2 välissä olevaa versiota 2 käyttäjän tekeminä ei näytetä) | |||
Rivi 1: | Rivi 1: | ||
{{DISPLAYTITLE:{{lcfirst:{{PAGENAME}}}}}} | |||
'''join''' on [[komentorivi|komento]] joka yhdistää tiedostojen samalla merkkijonolla alkavia rivejä tai rivejä, joissa samansisältöinen kenttä. | '''join''' on [[komentorivi|komento]] joka yhdistää tiedostojen samalla merkkijonolla alkavia rivejä tai rivejä, joissa samansisältöinen kenttä. | ||
Rivi 7: | Rivi 8: | ||
join -i tiedosto-1 tiedosto-2 > tiedosto-3 | 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ä: | Hae tiedostoista [[passwd-tiedosto|passwd]] ja [[group-tiedosto|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 3g /etc/group > group.tmp | ||
sort -t : -k 4g /etc/passwd | \ | sort -t : -k 4g /etc/passwd | \ | ||
join -t ":" -1 3 -2 4 -o | join -t ":" -1 3 -2 4 -o 2.1,1.1 group.tmp - \ | ||
> usergroups.list | > usergroups.list | ||
Tässä siis tiedostot järjestetään [[GID|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 [[Standardivirrat|vakiosyöte]]), rivit järjestetään numeerisen arvon mukaan (-k 3g, -k 4g). Listaan otetaan kummastakin tiedostosta ensimmäinen kenttä (1 | Tässä siis tiedostot järjestetään [[GID|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 [[Standardivirrat|vakiosyöte]]), rivit järjestetään numeerisen arvon mukaan (-k 3g, -k 4g). Listaan (usergroups.list) otetaan kummastakin tiedostosta ensimmäinen kenttä (-o 2.1,1.1). | ||
Komentorivi on jaettu useammalle riveille päättämällä rivit "\"-merkkiin. Käytäntö toimii myös monissa asetustiedostoissa. | |||
Muilla valitsimilla voi esimerkiksi valita mitä tehdä puuttuville kentille tai riveille. | Muilla valitsimilla voi esimerkiksi valita mitä tehdä puuttuville kentille tai riveille. | ||
==Katso myös== | ==Katso myös== | ||
* [[cut]] | * [[awk]]: ohjelmointikieli tiedostojen manipulointiin | ||
* [[diff]] | * [[cut]]: poimi tiettyjä kenttiä tiedostosta | ||
* [[grep]] | * [[diff]]: vertaa tiedostoja | ||
* [[sort]] | * [[grep]]: hae merkkijonoa tai sen muunnoksia | ||
* [[uniq]] | * [[sed]]: tiedoston (syötevirran) manipulointia | ||
* [[sort]]: järjestä tiedoston riviä | |||
* [[uniq]]: hae tai poista uniikkeja rivejä | |||
* [[Bash-skriptaus]] | |||
[[Luokka:Komentorivin perustyökalut]] | [[Luokka:Komentorivin perustyökalut]] | ||
[[Luokka:Coreutils]] |
Nykyinen versio 9. helmikuuta 2016 kello 07.53
join on komento joka yhdistää tiedostojen samalla merkkijonolla alkavia rivejä tai rivejä, joissa samansisältöinen kenttä.
Esimerkkejä käytöstä[muokkaa]
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 2.1,1.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 (usergroups.list) otetaan kummastakin tiedostosta ensimmäinen kenttä (-o 2.1,1.1).
Komentorivi on jaettu useammalle riveille päättämällä rivit "\"-merkkiin. Käytäntö toimii myös monissa asetustiedostoissa.
Muilla valitsimilla voi esimerkiksi valita mitä tehdä puuttuville kentille tai riveille.