Ero sivun ”Comm” versioiden välillä
(Ak: Uusi sivu: {{DISPLAYTITLE:{{lcfirst:{{PAGENAME}}}}}} '''comm''' on komentoriviohjelma, joka vertailee kahden parametrina annetun syötetiedoston sisältöä riveittäin. Sillä voidaan er...) |
p (Toinen esimerkki korjattu) |
||
(3 välissä olevaa versiota 2 käyttäjän tekeminä ei näytetä) | |||
Rivi 3: | Rivi 3: | ||
==Esimerkkejä käytöstä== | ==Esimerkkejä käytöstä== | ||
Kaksi ryhmää tarkkailee lintuja. | Kaksi ryhmää tarkkailee lintuja. Ryhmien havaitsemat lintulajit on lueteltu alla olevissa tiedostoissa. | ||
<source> | <source lang="sh"> | ||
$ cat | $ cat ryhma1 | ||
varpunen | varpunen | ||
varis | varis | ||
harakka | harakka | ||
$ cat | $ cat ryhma2 | ||
tilhi | tilhi | ||
varis | varis | ||
harakka | harakka | ||
</source> | </source> | ||
Jotta ryhmien havaitsemia lintulajeja voidaan vertailla comm-ohjelmalla, tulee luetteloiden rivit ensin järjestää esimerkikisi [[sort]]-komennolla. Järjestetyt luettelot voidaan ohjata suoraan syötteeksi comm-ohjelmalle seuraavasti: | |||
<source> | <source lang="sh"> | ||
$ comm <(sort | $ comm <(sort ryhma1) <(sort ryhma2) | expand | ||
harakka | |||
tilhi | |||
varis | |||
varpunen | varpunen | ||
</source> | </source> | ||
Selkeyden vuoksi tässä [[expand]] korvaa sarakkeiden tab-erotinmerkit 8 välilyönnillä. | |||
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. | 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. | ||
<source> | <source lang="sh"> | ||
$ comm -12 <(sort | $ comm -12 <(sort ryhma1) <(sort ryhma2) | ||
harakka | harakka | ||
varis | varis | ||
</source> | </source> | ||
==Katso myös== | ==Katso myös== | ||
* [[diff]] | * [[diff]] |
Nykyinen versio 3. helmikuuta 2019 kello 22.14
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ä[muokkaa]
Kaksi ryhmää tarkkailee lintuja. Ryhmien havaitsemat lintulajit on lueteltu alla olevissa tiedostoissa.
$ cat ryhma1
varpunen
varis
harakka
$ cat ryhma2
tilhi
varis
harakka
Jotta ryhmien havaitsemia lintulajeja voidaan vertailla comm-ohjelmalla, tulee luetteloiden rivit ensin järjestää esimerkikisi sort-komennolla. Järjestetyt luettelot voidaan ohjata suoraan syötteeksi comm-ohjelmalle seuraavasti:
$ comm <(sort ryhma1) <(sort ryhma2) | expand
harakka
tilhi
varis
varpunen
Selkeyden vuoksi tässä expand korvaa sarakkeiden tab-erotinmerkit 8 välilyönnillä. 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 ryhma1) <(sort ryhma2)
harakka
varis