comm

comm
Typ softwarustandardní UNIXová utilita či příkaz
Některá data mohou pocházet z datové položky.

comm je v informatice název unixové utility pro příkazový řádek, která porovnává dva soubory a vyhledává v nich stejné a rozdílné řádky. Nástroj comm je specifikován ve standardu POSIX. Je běžnou součástí unixových systémů od druhé poloviny 80. let.

Použití

Nástroj comm načítá dva soubory jako vstup. Výstup příkazu comm obsahuje tři sloupce. V prvních dvou sloupcích najdeme řádky, které jsou unikátní pro první a druhý soubor (v uvedeném pořadí). Třetí sloupec obsahuje řádky společné pro oba soubory. Tato funkce se podobá příkazu diff.

Sloupce běžně odděluje znak <tab> (tabulátor). Pokud soubor obsahuje řádek, který začíná oddělovacím znakem, mohou být hranice sloupců nejasné.

Z důvodu efektivnosti očekává standardní implementace příkazu comm soubory se seřazenými řádky dle abecedního řazení. Jedním z řešení je použít příkaz sort.

Algoritmus příkazu comm využívá řadící sekvence aktuálního locale. Pokud nejsou řádky v obou souborech abecedně seřazeny podle aktuálního locale, není výsledek předem jasný.

Srovnání s diff

Podle běžných měřítek je diff mnohem silnější nástroj než comm. Jednoduchý comm se tak nejlépe hodí do skriptů. Hlavním rozdílem mezi commdiff je to, že comm se zbavuje informací o pořadí řádků tříděním.

Drobný rozdíl mezi commdiff je ten, že comm se nepokusí o indikaci toho zda se řádek mezi dvěma soubory změnil. Řádky jsou uvedeny buď v sloupci „ze souboru #1“, „ze souboru #2“ nebo „oba“. Takové chování může být užitečné v případně, že si přejeme, aby byly dva řádky označeny jako rozdílné, i v případě, že se liší pouze v drobnostech.

Návratový kód

Oproti diff, návratový kód příkazu comm nemá logický význam, co se týče vztahu dvou souborů. Návratová kód 0 nám říká, že vše proběhlo bez chyby. Návratový kód větší než 0 vyhodnocujeme jako chybu během zpracování.

Další možnosti

comm má parametry, které mohou potlačit kterýkoliv ze sloupců. Díky tomu je comm užitečný zejména ve skriptech.

Příklad

Soubor foo

jablko
banán
lilek

Soubor bar

jablko
banán
banán
zucchini
$ comm foo bar
               jablko
               banán
      banán
lilek
      zucchini

Toto nám ukazuje, že oba soubory mají jeden banán, ale jenom bar má druhý banán.

Při bližším pohledu zjistíme, že výstupní soubor má následující tvar. Povšimněte si, že sloupec reprezentuje počet tabulátorů před znaky. Značka \t představuje znak tabulátoru a \n zase nový řádek (notace v jazyku C). Mezery nejsou součástí výstupního souboru.

\t \t  j  a  b  l  k  o \n 
\t \t  b  a  n  á  n \n
\t  b  a  n  á  n \n
 l  i  l  e  k \n
\t  z  u  c  c  h  i  n  i \n

V případě, že nechceme některý ze sloupců, tak jeho pořadí uvedeme jako parametr:

$ comm -12 foo bar
jablko
banán

V tomto případě jsme potlačili první dva sloupce, které odpovídaly unikátním řádkům v obou souborech.

$ comm -3 foo bar
      banán
lilek
      zucchini

Zde jsme zase potlačili shodné řádky obou souborů.

Související články

Reference

V tomto článku byl použit překlad textu z článku comm na anglické Wikipedii.


Zdroj datcs.wikipedia.org
Originálcs.wikipedia.org/wiki/Comm
Zobrazit sloupec 

Kalkulačka - Výpočet

Výpočet čisté mzdy

Důchodová kalkulačka

Přídavky na dítě

Příspěvek na bydlení

Rodičovský příspěvek

Životní minimum

Hypoteční kalkulačka

Povinné ručení

Banky a Bankomaty

Úrokové sazby, Hypotéky

Směnárny - Euro, Dolar

Práce - Volná místa

Úřad práce, Mzda, Platy

Dávky a příspěvky

Nemocenská, Porodné

Podpora v nezaměstnanosti

Důchody

Investice

Burza - ČEZ

Dluhopisy, Podílové fondy

Ekonomika - HDP, Mzdy

Kryptoměny - Bitcoin, Ethereum

Drahé kovy

Zlato, Investiční zlato, Stříbro

Ropa - PHM, Benzín, Nafta, Nafta v Evropě

Podnikání

Města a obce, PSČ

Katastr nemovitostí

Katastrální úřady

Ochranné známky

Občanský zákoník

Zákoník práce

Stavební zákon

Daně, formuláře

Další odkazy

Auto - Cena, Spolehlivost

Registr vozidel - Technický průkaz, eTechničák

Finanční katalog

Volby, Mapa webu

English version

Czech currency

Prague stock exchange


Ochrana dat, Cookies

 

Copyright © 2000 - 2024

Kurzy.cz, spol. s r.o., AliaWeb, spol. s r.o.