cmp (Unix)

cmp (abbreviazione dalla lingua inglese di compare, confronta) è un comando dei sistemi operativi Unix e Unix-like, e più in generale dei sistemi POSIX[1], che confronta byte per byte i dati di due file per vedere se sono diversi.

In caso di file diversi tra loro, cmp mostra sullo standard output un messaggio che indica il punto a partire dall'inizio dei file ove è stata trovata una differenza.

La sintassi generale di cmp è:

cmp [opzioni] [--] file1 file2 

I parametri file1 e file2 indicano i nomi dei file da confrontare. Uno di essi può essere un trattino ("-"), indicando in tal caso lo standard input.

Il doppio trattino -- (facoltativo) indica che i parametri successivi non sono da considerarsi opzioni.

Tra le opzioni principali vi sono:

-l
Elenca tutte le differenze trovate, specificando per ciascuna di esse la posizione (intesa come numero di byte a partire dall'inizio dei file)) ed i valori dei due byte nei rispettivi file.
-s
Evita di visualizzare messaggi se i file sono diversi.

Il valore di uscita di cmp è 0 se i dati dei due file sono identici, oppure un valore diverso da 0 in caso contrario. Due file di lunghezza diversa sono sempre considerati diversi tra loro.

Confronta due file, che in questo caso sono diversi tra loro:

$ cmp prova.pl prova1.pl prova.pl prova1.pl differ: byte 12, line 1 

Confronta due file, che in questo caso sono diversi tra loro, elencando tutte le differenze:

$ cmp -l prova.pl prova1.pl 12 145 171 13 156 145 14 166 163 15  40  12 16 160 116 17 145 157 18 162 156 19 154  40 20  40 155 21  55 151 22 167  40 23  12 160 24 160 151 25 162 141 26 151 143 27 156 151 28 164  12 29  40  12 cmp: EOF on prova1.pl 

Confronta due file, che in questo caso sono identici tra loro (non visualizza nessun messaggio):

$ cmp prova.pl prova2.pl 
  1. ^ (EN) cmp, in The Open Group Base Specifications Issue 6 IEEE Std 1003.1, 2004 Edition. URL consultato il 29-05-2008.

Voci correlate

[modifica | modifica wikitesto]

Collegamenti esterni

[modifica | modifica wikitesto]
  • (EN) Invoking cmp, in GNU Diffutils manual. URL consultato il 29-05-2008.
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica