cmp (Unix)

Da Wikipedia, l'enciclopedia libera.

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.

Uso[modifica | modifica sorgente]

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.

Esempi[modifica | modifica sorgente]

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

Note[modifica | modifica sorgente]

  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 sorgente]

Collegamenti esterni[modifica | modifica sorgente]

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