GNU/Linux >> Linux Esercitazione >  >> Linux

Confronta due file in Linux – Usando diff, vimdiff e colordiff

Linux ti offre più opzioni per confrontare due file. Il comando più diffuso per confrontare due file è diff . In questo tutorial esamineremo il comando diff e alcune altre opzioni che puoi utilizzare per confrontare due file in Linux.

Creiamo due file da usare come esempi durante il tutorial.

Testo per il file 1:

 Welcome to the best source for learning Linux.
 How are you doing?

Testo per il file 2:

Welcome to Linux For Devices!
How are you doing?

Comando Diff per confrontare due file in Linux

Il comando Diff è il comando più comunemente usato quando si tratta di confrontare due file. Il nome è l'abbreviazione di "differenza “. L'output indica i passaggi da seguire per modificare il primo file in modo che corrisponda al secondo file.

La sintassi per usare il comando diff è:

diff [option] [file 1] [file 2]

Vediamo il comando diff in azione.

diff [file 1] [file 2]

L'output mostra solo le righe che non corrispondono. Le righe vengono visualizzate nell'ordine dei file come indicato nel comando.

Proviamo a capire l'output.

Puoi vedere che l'output inizia con '1c1' . Questo è nel formato [intervallo][abc][intervallo].

Dove il primo campo di intervallo appartiene al primo file e il secondo campo di intervallo appartiene al secondo file.

La lettera al centro può essere una delle tre seguenti.

  • a: aggiungi
  • c: cambia
  • d: elimina

Nel nostro esempio, '1c1' significa che hai bisogno di cambiare numero di riga uno dei primi file per assicurarti che i due file si sincronizzino fino alla riga numero uno del secondo file.

3d2 significa che devi eliminare la riga numero tre del primo file per assicurarsi che i due file vengano sincronizzati sulla riga numero due del secondo file.

Modalità contesto (diff -c)

Per vedere la differenza tra due file in modalità contesto, usa -c flag insieme al comando diff.

diff -c [file 1] [file 2]

Proviamo a capire l'output.

L'output inizia con le meta informazioni sul file. Si tratta di informazioni come il nome del file, la data e l'ora di creazione e le autorizzazioni.

La riga successiva è *** 1,3 ****. Questa riga contiene il numero da e verso la riga preso in considerazione durante il confronto.

Dopo questo è il testo del file 1. Qui puoi vedere alcuni simboli prima della riga. Vediamo cosa significano questi simboli.

  • + :La riga manca nel primo file. Puoi aggiungerlo nel primo file o eliminarlo dal secondo file.
  • – : La riga è mancante nel secondo file. Puoi aggiungerlo nel secondo file o eliminarlo dal primo file.
  • ! : La riga deve essere modificata per farla corrispondere in entrambe le righe.

La stessa informazione viene ripetuta per il secondo file.

Formato unificato (diff -u)

Il formato unificato è una versione migliorata della modalità contesto. La sintassi è la seguente:

diff -u [file 1] [file 2]

Puoi vedere che trasmette le stesse informazioni ma in modo conciso.

Vimdiff per confrontare due file in Linux

Un altro modo per confrontare due file è Vimdiff. Funzionerà solo se hai l'editor Vim sul tuo sistema.

La sintassi per confrontare due file usando vimdiff è:

vimdiff [file 1] [file 2] 

Ecco come appare l'output. Apre i due file nell'editor Vim fianco a fianco. Evidenzia anche le parti che non corrispondono nei due file. Dovresti usare vimdiff se ti senti a tuo agio con l'editor Vim.

Difficoltà colore

Lo script Perl colordiff è un wrapper per 'diff' e produce lo stesso output ma con una bella 'evidenziazione della 'sintassi'. Ti dà anche la possibilità di personalizzare i colori.

Per installare colordiff sul tuo sistema usa il comando apt:

sudo apt install colordiff

Questo comando installerà colordiff sul tuo sistema. Per confrontare due file usando colodiff usa :

colordiff [file 1] [file 2] 

Puoi vedere che l'output è lo stesso di quello prodotto sopra nel comando diff. L'unica differenza è quella del colore nell'output.

Conclusione

Questo tutorial riguardava diversi modi che puoi utilizzare per confrontare i file in Linux.


Linux
  1. Come trasferire file tra due computer utilizzando i comandi nc e pv

  2. Un modo semplice per nascondere file e directory in Linux

  3. Come estrarre i file .gz e .tar.gz in Linux

  4. Come unire due file usando AWK?

  5. Unisci manualmente due file usando diff

Tutto sui file tar e su come tar, untar file in Linux usando il terminale

Come confrontare i file in Linux usando lo strumento Meld (Diff/Merge).

Come confrontare due file nel terminale Linux

Come nascondere cartelle e file in Linux usando un file di testo

Utilizzo del comando Diff per confrontare due file nel terminale Linux

I 4 migliori strumenti per differenze di file su UNIX / Linux:Diff, Colordiff, Wdiff, Vimdiff