comm

Linux.fista
Versio hetkellä 23. syyskuuta 2018 kello 22.06 – tehnyt Javali (keskustelu | muokkaukset) (Ak: Uusi sivu: {{DISPLAYTITLE:{{lcfirst:{{PAGENAME}}}}}} '''comm''' on komentoriviohjelma, joka vertailee kahden parametrina annetun syötetiedoston sisältöä riveittäin. Sillä voidaan er...)
(ero) ← Vanhempi versio | Nykyinen versio (ero) | Uudempi versio → (ero)
Siirry navigaatioon Siirry hakuun

comm on komentoriviohjelma, joka vertailee kahden parametrina annetun syötetiedoston sisältöä riveittäin. Sillä voidaan erotella kahden eri tiedoston sisältämät yhteiset rivit ja rivit, jotka esiintyvät vain toisessa kahdesta komennolle parametrina annetusta syötetiedostosta. Molempien syötetiedostojen rivit tulee olla aakkosjärjestysessä (ks. sort). Ilman valitsimia comm näyttää rivit kolmessa sarakkeessa. Ensimmäisessä sarakeessa on pelkästään ensimmäisessä syötetiedostossa esiintyvät rivit, toisessa sarakkeessa vain toisessa syötetiedostossa olevat rivit ja kolmannessa sarakkeessa yhteiset eli molemmissa syötetiedostoissa olevat rivit.

Esimerkkejä käytöstä

Kaksi ryhmää tarkkailee lintuja. Heidän havaitsemansa linnut on lueteltu alla olevissa tiedostoissa.

$ cat tiedosto_1
varpunen
varis
harakka
$ cat tiedosto_2
tilhi
varis
harakka

Tiedostojen rivit tulee ensin järjestää esimerkikisi sort-komennolla, ja tulos voidaan ohjata suoraan syötteeksi comm-ohjelmalle seuraavasti:

$ comm <(sort tiedosto_1) <(sort tiedosto_2)
		harakka
	tilhi
		varis
varpunen

Valitsimilla -1, -2 ja -3 sarakkeita voi piilottaa. Esimerkiksi piilottamalla valitsimilla -1 ja -2 ensimmäinen ja toinen sarake saadaan tuloksena pelkästään molempien syötetiedostojen yhteiset rivit.

$ comm -12 <(sort tiedosto_1) <(sort tiedosto_2)
harakka
varis

Katso myös