comm (Unix)

A Wikipédiából, a szabad enciklopédiából

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.