Home > Comandi Console, Guide, Linux, Ubuntu > Confrontare files e directory

Confrontare files e directory

16 agosto 2008

E’ possibile confrontare il contenuto di due files o anche due directory tra di loro per evidenziare quali siano le differenze tra loro. Ciò si rivela utile per verificare se in una directory sono state apportate modifiche rispetto un backup o si possiedono due copie degli stessi dati su disco.

L’operazione mediante terminale è semplicissima e si utilizza la sintassi:

diff file1 file2

Mostrerà le righe differenti tra il primo file e il secondo. Nel risultato il simbolo < fa riferimento al primo file, mentre il simbolo > indicherà il secondo file. Inoltre prima di ogni gruppo di differenze è mostrato il tipo di cambiamento:

c = changed
Indica che nel secondo file è stato modificato qualcosa rispetto il primo
a = added
Indica che nel secondo file è stato aggiunto del testo rispetto il primo
d = deleted
Indica che nel secondo file è stato eliminato del testo rispetto il primo

Con un esempio:

diff Vecchio.txt Nuovo.txt
24c24
< Rossi Angela
---
> Rossi Angelo
37a38
> Bonura Pietro
59d59
< Camino Lucia

Mostrerà le righe differenti tra il file Vecchio.txt e Nuovo.txt evidenziando tre differenze. La prima è identificata da 24c24 che significa che alla riga 24 del secondo file c’è stato un cambiamento  rispetto la riga 24 del primo file. Il primo file conteneva il testo Rossi Angela, mentre quello nuovo contiene Rossi Angelo.

La seconda differenza, indicata con 37a38 identifica un’aggiunta nel secondo file, ovvero alla riga 38 del secondo file è stata aggiunto il testo Bonura Pietro rispetto la riga precedente 37 del primo file.

La terza differenza, indicata con 59d59 mostra una cancellazione del testo nel secondo file, il testo Camino Lucia è stato rimosso dalla riga 59 del primo file.


Se non interessa vedere le differenze tra i due files è possibile utilizzare l’opzione -q:

diff -q Vecchio.txt Nuovo.txt

Riporterà un breve e chiaro:

I file Vecchio.txt e Nuovo.txt differiscono

In maniera similare è possibile confrontare anche il contenuto di due directories, includendo anche le sottodirectory, utilizzando la sintassi:

diff -r directory1 directory2

Ciò effettuarà la scansione di tutti i files presenti in entrambe le directory e li confronterà tra loro, mostrando le differenze. Se non interessa conoscere i dettagli delle differenze, in maniera analoga ai files, è possibile specificare l’opzione -q:

diff -rq directory1 directory2

In ogni caso saranno analizzati sia i files presenti nella prima directory che quelli presenti unicamente nella seconda.

  1. Gianni Pinotto
    16 agosto 2008 alle 9:33

    perche non cirate anche diff3, analogo a diff ma con la possibilità di confrontare 3 file contemporaneamente, e se la linea di comando risulta scomoda e i report ottenuti un po macchinosi, esistono un sacco di programmi che restituiscono report visuali (con qualche colore in più che in questi casi non guasta mai) come KDiff3, EasyDiff e fldiff

  2. Berserker79
    17 agosto 2008 alle 18:24

    Ma per sapere le differenze di misure delle due pupattole quale comando và inserito……..

  3. 17 agosto 2008 alle 19:13

    mi sa che devo parlare con chi so io..😀

  1. No trackbacks yet.
I commenti sono chiusi.
%d blogger cliccano Mi Piace per questo: