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.
Sintassi
[modifica | modifica wikitesto]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 wikitesto]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 wikitesto]Voci correlate
[modifica | modifica wikitesto]- diff – Confronta due file di testo ed elenca le linee che sono differenti.
Collegamenti esterni
[modifica | modifica wikitesto]- (EN) Invoking cmp, in GNU Diffutils manual. URL consultato il 29-05-2008.