comm (Unix)

A comm egy Unix parancs, melyet két állomány összehasonlítására használhatunk.

Használata szerkesztés

A comm parancs beolvassa a két állományt és soronként feldolgozza. A comm parancs kimenetele három oszlopba van rendezve. Az első két oszlop a két állomány egyedi sorai, melyek nem szerepelnek a másik állományban. Az utolsó oszlopban találhatók a közös sorok. Ez hasonlóan működik, mint a diff parancs.

Az oszlopok között tabok találhatók <tab>. Ha a bemeneti állomány tartalmaz olyan sorokat, melyek elválasztó karakterekkel kezdődnek, akkor a kimeneti oszlop tartalma kérdőjeles lesz.

Ahhoz, hogy a comm parancs helyesen működjön, ajánlatos a bemeneti állományok sorait megtörni.

Példák szerkesztés

File foo

apple
banana
eggplant

File bar

apple
banana
banana
zucchini
comm foo bar
                  apple
                  banana
          banana
eggplant
          zucchini

Az eredményből látszik, hogy az első banana szó mindkét állományban szerepel, a második banana szó viszont csak a második állományban jelenik meg.

Részletesebben a kimeneti állomány így néz ki. Ahol a \t egy tab-ot jelent, míg az \n egy újsort. A szóközök nem jelennek meg a kimeneti állományban.

\t \t  a  p  p  l  e \n 
\t \t  b  a  n  a  n  a \n
\t  b  a  n  a  n  a \n
 e  g  g  p  l  a  n t \n
\t  z  u  c  c  h  i  n  i \n

Összehasonlítás a diff paranccsal szerkesztés

Általában a diff parancs sokkal hatékonyabb eredményben, mint társa a comm. Scriptek esetén a comm hasznosabbnak bizonyul.